ULONG_PTR
読み:ユーロング-ポインター
外語:ULONG_PTR
Microsoft WindowsのAPIなどに使われている、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 __int32、Win64プラットフォームではunsigned __int64として定義される。
過去
現在の定義では、ULONG_PTRはUINT_PTRと同じである。
かつてはUINT_PTRはunsigned intのtypedef、ULONG_PTRはunsigned longのtypedefだったため、このような名前となっているのである。
BaseTsd.hには、古い環境での定義が今も残されている。
再検索