ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
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には、古い環境での定義が今も残されている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます