通信用語の基礎知識 全国のICカードこれひとつ 戻る

LONG_PTR
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:ロング-ポインター
外語:LONG_PTR
品詞:名詞

Microsoft WindowsAPIなどに使われている、Cの変数型の一つ。ポインター長のlong。

Win32環境では32ビット長、Win64環境では64ビット長である。

目次
主な用途

Windowsアプリケーションで、64ビット対応をする場合、longやLONGを、LONG_PTRに置き換える作業が主となる。

例えば、WindowsのAPI関数でよく使われるLPARAM型やLRESULT型は、LONG_PTR型をtypedefしたものである。また、SetWindowLong関数の改訂版として登場したSetWindowLongPtr関数は、第3引数がそのままLONG_PTR型で定義されている。

特徴

Microsoft Visual C++ 2008環境では、次のように定義される。

定義

名称にPTRとあるためポインター変数のように見えるが、実際にはそうではなく整数型の変数である。従ってLONG_PTRは「ポインター長のlong」であり、これを「long長のポインター」と考えることは誤りである。

Microsoft Visual C++ 2008環境では、次のように定義される。

(BaseTsd.h)

typedef [public] __int3264 LONG_PTR;

Win32プラットフォームでは__int32Win64プラットフォームでは__int64として定義される。

すなわち、その環境におけるポインターのビット長と同じ長さの整数型として定義されている。

過去

現在の定義では、LONG_PTRはINT_PTRと同じである。

かつてはINT_PTRはintのtypedef、LONG_PTRはlongのtypedefだったため、このような名前となっているのである。

BaseTsd.hには、古い環境での定義が今も残されている。

リンク
関連する用語
ULONG_PTR
INT_PTR

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic