C 通过网络传输GetBitmapBits(),安全吗?
我正在通过C 通过网络传输GetBitmapBits(),安全吗?,c,winapi,gdi,C,Winapi,Gdi,我正在通过HBITMAP执行GetBitmapBits(),并将像素存储在一个普通的char*缓冲区中,然后通过网络发送该缓冲区 然后,客户端在其窗口中使用SetBitmapBits()来“重建”位图 我的问题很简单:是否有任何可能或可能的情况下,重建可能是不可能的?可能是这些像素数据的内部字节存储格式 客户端和服务器不保证使用相同版本的Windows。例如,服务器可能使用XP,而客户端可能使用Vista或Windows 7。本身的文档提到您应该使用GetDIBits/SetDIBits。本身的
HBITMAP
执行GetBitmapBits()
,并将像素存储在一个普通的char*
缓冲区中,然后通过网络发送该缓冲区
然后,客户端在其窗口中使用SetBitmapBits()
来“重建”位图
我的问题很简单:是否有任何可能或可能的情况下,重建可能是不可能的?可能是这些像素数据的内部字节存储格式
客户端和服务器不保证使用相同版本的Windows。例如,服务器可能使用XP,而客户端可能使用Vista或Windows 7。本身的文档提到您应该使用GetDIBits/SetDIBits。本身的文档提到您应该使用GetDIBits/SetDIBits。除了Chris建议您应该使用之外,我可以补充:
char
s,因此不会出现任何问题,因为源系统和目标系统之间可能存在不同的endianness除了Chris建议您使用外,我可以补充一点:
char
s,因此不会出现任何问题,因为源系统和目标系统之间可能存在不同的endiannessGetBitmapBits明确表示该格式是特定于设备的。因此,它将取决于在该设备中选择的当前视频模式,以及实际使用的设备驱动程序。@ChrisBecke:这就是为什么建议使用
GetDIBits
;正如名称所示,该格式是独立于设备的。GetBitmapBits明确表示该格式是特定于设备的。因此,它将取决于在该设备中选择的当前视频模式,以及实际使用的设备驱动程序。@ChrisBecke:这就是为什么建议使用GetDIBits
;顾名思义,这是一款独立于设备的产品。