_IN_ 输入型参数  _OUT_ 输出型参数

typedef unsigned long DWORD;//double word
typedef int BOOL;//因为cpu原因4字节的int运行比较快,所以改为int型
typedef unsigned char BYTE;//一个字节
typedef unsigned short WORD;//两个字节表示一个字
typedef float FLOAT;
typedef FLOAT *PFLOAT;//P表示指针
typedef BOOL near *PBOOL;//near和far区别在于,near中P代表指针是新版的表示方法,far是旧版的表示方法为LP
typedef BOOL far *LPBOOL;
typedef BYTE near *PBYTE;
typedef BYTE far *LPBYTE;
typedef int near *PINT;
typedef int far *LPINT;
typedef WORD near *PWORD;
typedef WORD far *LPWORD;
typedef long far *LPLONG;
typedef DWORD near *PDWORD;
typedef DWORD far *LPDWORD;
typedef void far *LPVOID;
typedef CONST void far *LPCVOID;//C表示const

#define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8))

将两个单字节变量合成一个双字节的变量并返回,例如MAKEWORD(1234,4567);MAKEWORD会通过将1234和4567进行&0xff将大于一个字节的部分去掉,再通过移位和|操作将两个数合成一个双字节变量,

可以看出MAKEWORD(a,b),b为高位,为低位
#define MAKELONG(a, b) ((LONG)(((WORD)(((DWORD_PTR)(a)) & 0xffff)) | ((DWORD)((WORD)(((DWORD_PTR)(b)) & 0xffff))) << 16))

和上面的大致相同
#define LOWORD(l) ((WORD)(((DWORD_PTR)(l)) & 0xffff))

拆分4个字节的变量l 拆分成word型,并返回其中的地位 
#define HIWORD(l) ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))

和上面的相同,这次返回高位
#define LOBYTE(w) ((BYTE)(((DWORD_PTR)(w)) & 0xff))

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

和上面的大致相同只是拆分的变量变为word型,拆成byte型

最新文章

  1. Bringing Whoops Back to Laravel 5
  2. 小型文件数据库 (a file database for small apps) SharpFileDB
  3. Spell checker
  4. How Delete File with Readonly Permission?
  5. VC2013的一个bug
  6. UIButton(在代码中使用)
  7. java枚举类
  8. 【javascript】html5中使用canvas编写头像上传截取功能
  9. 【转载】错误 CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/.........dll”--“拒绝访问。 ”
  10. Application.persistentDataPath 的一个小坑
  11. Mysql 冷备份批处理
  12. spring集成Apache的ActiveMQ
  13. 代码度量工具——SourceMonitor的学习和使用
  14. vue项目中操作PDF文件
  15. 一场IPFS引领下的共享之风正在走向区块链
  16. caffe-ssd需要安装opencv
  17. ssh和ssl的联系和区别
  18. 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
  19. 科赫曲线和科赫雪花的绘制Python
  20. thinkphp5 数据库和模型

热门文章

  1. BOM DOM jQuery
  2. Find Amir CodeForces 805C
  3. 大数加法java版
  4. Nginx 如何限定IP访问
  5. 如何实现HashMap的同步
  6. How To Configure SAMBA Server And Transfer Files Between Linux &amp; Windows
  7. Spring IOC(六)依赖查找
  8. 关于使用的xshll和xftp中乱码咋办?
  9. 转录组表达量计RPKM、FPKM、TPM说明
  10. ajax在jQuery中的应用 (1)加载异步数据