手柄的尺寸是多少?

用户名

对于练习,我看一下STARTUPINFO结构。如您所见,最后3个元素的类型为HANDLE

所以我想知道哪种尺寸HANDLE有人知道HANDLE吗?

罗斯里奇

WindowsHANDLE类型不是完全不透明的类型。Windows定义了几个可以依赖的属性。主要问题是您所提出问题的答案:始终为type void *MSDN上Windows数据类型条目中:

处理

对象的句柄。

在WinNT.h中声明此类型,如下所示:

typedef PVOID HANDLE;

在表格的后面,您可以看到PVOID定义为void *

因此,aHANDLE的大小与相同void *换句话说,使用32位编译器时为32位,使用64位编译器时为64位。您无需将这些值中的任何一个硬编码到代码中,而只需使用即可sizeof(HANDLE)

WindowsHANDLE类型的另一个属性非常模糊,几乎没有记录:对于内核句柄,最低的两位始终为零您不需要在代码中依赖它,希望您可以看到自己永远也不想。我之所以提及此点是为了完整性,并强调Microsoft如何定义HANDLE为不仅仅是内部实现细节。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章