UINT_PTR
読み:ユーイント-ポインター
外語:UINT_PTR
Microsoft WindowsのAPIなどに使われている、Cの変数型の一つ。ポインター長のunsigned int。
Win32環境では32ビット長、Win64環境では64ビット長である。
主な用途
Windowsアプリケーションで、64ビット対応をする場合、unsigned intやUINTを、UINT_PTRに置き換える作業が主となる。
例えば、WindowProcコールバック関数3番目の引数WPARAM型は、UINT_PTR型をtypedefしたものである。
特徴
定義
UINT_PTRは「ポインター長のunsigned int」であり、これを「unsigned int長のポインター」と考えることは誤りである。
Microsoft Visual C++ 2008環境では、次のように定義される。
Win32プラットフォームではunsigned __int32、Win64プラットフォームではunsigned __int64として定義される。
過去
現在の定義では、UINT_PTRはULONG_PTRと同じである。
かつてはUINT_PTRはunsigned intのtypedef、ULONG_PTRはunsigned longのtypedefだったため、このような名前となっているのである。
BaseTsd.hには、古い環境での定義が今も残されている。
再検索