通过网络传输GetBitmapBits(),安全吗?

时间:2011-04-05 08:01:57

标签: c winapi gdi

我在GetBitmapBits()上进行HBITMAP并将像素存储在普通char*缓冲区中并通过网络发送该缓冲区。

然后客户端在其窗口中使用SetBitmapBits()“重建”位图。

我的问题非常简单:在重建可能无法实施的情况下是否存在任何可能或可能的情况?也许对于这些像素数据的内部字节存储格式?

不保证客户端和服务器使用相同版本的Windows。服务器可能使用XP,而客户端可能使用Vista或Windows 7。

2 个答案:

答案 0 :(得分:2)

除了Chris建议您使用GetDIBits之外,我可以补充说:

  1. 由于任一函数的文档都没有关于兼容性问题的任何明确警告,您可以假设没有 - 实际上,如果DIB的内存表示在版本之间发生了变化,您可以确定许多程序会采用立即进攻。
  2. 由于您所做的只是通过网络推送char,因此源系统和目标系统之间可能存在不同的字节顺序,因此不会出现任何问题。

答案 1 :(得分:1)

GetBitmapBits本身的文档提到您应该使用GetDIBits / SetDIBits。

相关问题