我应该使用哪些 MIDL 数据类型来声明 C++ 数据类型(如size_t
、void*
和HBITMAP
其他类型的 winapi 句柄(HANDLE
、HFONT
等)的接口方法参数?
问问题
871 次
1 回答
2
size_t
是实现定义的,但使用 Visual Studio 的 CRT,在为 32 位架构编译时它是一个无符号的 32 位整数,在为 64 位架构编译时是一个无符号的 64 位整数。您需要使用unsigned __int3264
,它在 32 位架构上是 32 位,在 64 位架构上是 64 位。
void*
是另一种平台相关类型。MIDL 提供了一种void*
类型,但我相信它只是一个 32 位指针,无论目标地址大小如何。您可能想改用该unsigned __int3264
类型。
MIDL 提供与各种句柄类型同名的类型,但我不确定是否包括所有句柄类型;我知道HBITMAP
,至少。
于 2011-09-19T20:49:14.423 回答