为什么LOBYTE和HIBYTE会转向DWORD_PTR

时间:2017-10-18 14:23:13

标签: windows winapi

我想知道为什么WinAPI定义HIBYTE和LOBYTE使用DWORD_PTR(4字节 - 无符号长)而不是WORD(2字节 - 无符号短)

以下定义取自minwindef.h(VS2013)或WinDef.h(VS2008)

#define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff))
#define HIBYTE(w) ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))

而不是

#define LOBYTE(w) ((BYTE)(((WORD)(w)) & 0xff))
#define HIBYTE(w) ((BYTE)((((WORD)(w)) >> 8) & 0xff))

0 个答案:

没有答案