ULONG_PTR
読み:ユーロング-ポインター
外語:ULONG_PTR

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

主な用途
 Windowsアプリケーションで、64ビット対応をする場合、unsigned longやULONGを、ULONG_PTRに置き換える作業が主となる。
 WindowsのAPI関数では、符号のあるLONG_PTRの方が多く、こちらは直接にも間接にもあまり使われていないようであるが、移植性を高めるために用いるべきとされている。

特徴

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

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

再検索