LRESULT

読み:エル・リザルト
外語:LRESULT: Long Result
品詞:名詞

Microsoft WindowsAPIなどに使われている、Windows用Cの変数型の一つ。

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

API関数の返却値によく使われている。

例えば、WindowProcコールバック関数では、返却値がLRESULT型である。

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

Win32環境

  1. (windef.h) typedef LONG_PTR LRESULT
  2. (basetsd.h) typedef _W64 long LONG_PTR

Win32では、LRESULTは間接的に(signed) longとして定義されている。

_W64は、Visual C++ 32bitの場合__w64キーワードに展開される。これは、/Wp64を指定した時に、64ビット対応の型であると指定するものである。

Win64環境

  1. (windef.h) typedef LONG_PTR LRESULT
  2. (basetsd.h) typedef __int64 LONG_PTR

__int64はMicrosoft C/C++独自の変数型で、64ビット長intである。

Win64では、LRESULTは間接的に(signed) __int64として定義されている。