size_t
、void*
、HBITMAP
その他の種類の winapi ハンドル ( HANDLE
、HFONT
など) などの C++ データ型のインターフェイス メソッド パラメーターを宣言するには、どの MIDL データ型を使用する必要がありますか?
1 に答える
2
size_t
は実装定義ですが、Visual Studio の CRT を使用すると、32 ビット アーキテクチャ用にコンパイルする場合は符号なし 32 ビット整数になり、64 ビット アーキテクチャ用にコンパイルする場合は符号なし 64 ビット整数になります。これは、32 ビットアーキテクチャunsigned __int3264
では 32 ビット、64 ビット アーキテクチャでは 64 ビットです。
void*
別のプラットフォーム依存タイプです。MIDL はvoid*
型を提供しますが、対象のアドレス サイズに関係なく、32 ビット ポインターに過ぎないと思います。unsigned __int3264
代わりに typeを使用することもできます。
MIDL は、さまざまなハンドル型と同じ名前の型を提供しますが、すべてのハンドル型が含まれているかどうかはわかりません。HBITMAP
少なくともそうです。
于 2011-09-19T20:49:14.423 に答える