UINT_PTR
読み:ユーイント-ポインター
外語:UINT_PTR

 Microsoft WindowsAPIなどに使われている、Cの変数型の一つ。ポインター長のunsigned int。
 Win32環境では32ビット長、Win64環境では64ビット長である。
目次

主な用途
 Windowsアプリケーションで、64ビット対応をする場合、unsigned intUINTを、UINT_PTRに置き換える作業が主となる。
 例えば、WindowProcコールバック関数3番目の引数WPARAM型は、UINT_PTR型をtypedefしたものである。

特徴

定義
 UINT_PTRは「ポインター長のunsigned int」であり、これを「unsigned int長のポインター」と考えることは誤りである。
 Microsoft Visual C++ 2008環境では、次のように定義される。
 Win32プラットフォームではunsigned __int32Win64プラットフォームではunsigned __int64として定義される。

過去
 現在の定義では、UINT_PTRはULONG_PTRと同じである。
 かつてはUINT_PTRはunsigned intのtypedef、ULONG_PTRはunsigned longのtypedefだったため、このような名前となっているのである。
 BaseTsd.hには、古い環境での定義が今も残されている。

再検索