lpdword handle是long类型吗?

lp是long pointer的所写;

null

这主要是区别于32位cpu与其它 比如16位 64位的区别,因为long类型的长度是4字节,也就是2进制有32位
如果是64位里的话,你可能会看到LLP 这样的指针修饰前缀.

LPDWORD:指向DWORD类型数据的指针;

查看Windows数据类型的定义可以看到,所有的windows数据类型都是由C数据类型经过类型重定义得到的。如DWORD实质上就是 unsigned long 数据类型,32位无符号整型。而经常要用到的HANDLE类型实质上是无类型指针void,HANDLE定义为:
typedef PVOID HANDLE;
HANDLE实际上就是一个PVOID,那PVOID又是什么呢?
typedef void *PVOID;
PVOID就是指向void的指针。

在32位机上,所有指针类型变量占用内存字节数都为4;因为32位机就是 4字节 * 8个二进制位/字节 计算出来的.
如果在64位机上,指针占用内存大小就是:8个字节.

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容