1
A
回答
4
Windows HANDLE
类型不是完全不透明的类型。 Windows定义了一些可以依赖的属性。主要的是你的问题的答案:它总是类型void *
。从Windows Data Types进入MSDN上:
HANDLE
手柄可对象。
此类型在WINNT.H声明如下:
typedef PVOID HANDLE;
后来在表中可以看到,PVOID
被定义为void *
。
所以a HANDLE
与void *
的尺寸相同。换句话说,当使用32位编译器时,它是32位,当使用64位编译器时,它是64位。您不需要将这些值中的任何一个硬编码到代码中,而只需使用sizeof(HANDLE)
。
Windows HANDLE
类型的其他属性很晦涩难懂,而且只是几乎没有记录:对于内核句柄the bottom two bits are always zero。你不应该在你的代码中依赖这个,希望你能看到你永远不会想要。我提到这是完整的,并强调微软已经定义了HANDLE
不仅仅是一个内部实现细节。
5
最佳答案是使用sizeof(HANDLE)
获取此信息。如果我没有记错,HANDLE
通常作为typedef
为void*
,因此可能是32或64位,但不应该依赖于此。
希望这会有所帮助!
相关问题
- 1. pygame的图像尺寸是多少?
- 2. `show collections`返回的尺寸是多少?
- 3. iPhone plist的尺寸是多少?
- 4. SYSJOBID的最大尺寸是多少?
- 5. RTP头的最大尺寸是多少?
- 6. Cookie的最大尺寸是多少?
- 7. 320 and Up Framework - 600尺寸是多少?
- 8. 减少尺寸
- 9. 支持普通和大屏幕尺寸的PSD尺寸是多少?
- 10. 减少多维数组的尺寸
- 11. 如何从手柄中获取图标的尺寸?
- 12. 三星S6和三星S7手机的实际视口尺寸是多少?
- 13. 减少图像的尺寸
- 14. 什么的的Scripting.Dictionary的最大尺寸是多少?
- 15. iPhone可以支持的纹理的最大尺寸是多少?
- 16. 苹果触摸图标的正确像素尺寸是多少?
- 17. 网站的尺寸应该是多少? px或者%
- 18. HTML画布的最大尺寸是多少?
- 19. Post to Urban Airships“批量推送”的最大尺寸是多少?
- 20. iPhone中单个文件的最大尺寸是多少?
- 21. C++和java中地图对象的最大尺寸是多少?
- 22. iPad上的沙箱最大尺寸是多少?
- 23. UITabBarItem图像的最大尺寸是多少?
- 24. 1024x768屏幕上典型的视口尺寸是多少?
- 25. GAE中最大可用JPEG图像的尺寸是多少?
- 26. 视频背景的最大尺寸是多少?
- 27. FTP欢迎信息的最大尺寸是多少?
- 28. 三星Galaxy S5的屏幕尺寸是多少?
- 29. 为什么我的SVG尺寸是双倍尺寸的两倍,宽度和高度是多少?
- 30. 窗口句柄和窗口尺寸
为什么不试试sizeof(HANDLE)来找出答案。我认为这是一个无效*。 – 2014-09-10 16:57:45
HANDLE通常是'void *',所以一个指针,它是4个字节(系统相关) – AndyG 2014-09-10 16:57:56
'HANDLE'不在C99中,它不在Posix中。我想这是一个Windows的东西。 – 2014-09-10 17:01:41