次の方法で共有


GetWindowLongPtrA 関数 (winuser.h)

指定したウィンドウに関する情報を取得します。 また、この関数は、指定したオフセットの値を追加のウィンドウ メモリに取得します。

メモ 32 ビットバージョンと 64 ビット バージョンの両方の Windows と互換性のあるコードを記述するには、GetWindowLongPtr使用します。 32 ビット Windows 用にコンパイルする場合、GetWindowLongPtr は、GetWindowLong 関数の呼び出しとして定義されます。
 

構文

LONG_PTR GetWindowLongPtrA(
  [in] HWND hWnd,
  [in] int  nIndex
);

パラメーター

[in] hWnd

型: HWND

ウィンドウへのハンドルと、ウィンドウが属するクラスを間接的に指定します。

[in] nIndex

型: int

取得する値への 0 から始まるオフセット。 有効な値は、余分なウィンドウ メモリのバイト数から、LONG_PTRのサイズを引いた範囲の 0 です。 その他の値を取得するには、次のいずれかの値を指定します。

価値 意味
GWL_EXSTYLE
-20
の拡張ウィンドウ スタイルを取得します。
GWLP_HINSTANCE
-6
アプリケーション インスタンスへのハンドルを取得します。
GWLP_HWNDPARENT
-8
親ウィンドウのハンドルがある場合は、そのハンドルを取得します。
GWLP_ID
-12
ウィンドウの識別子を取得します。
GWL_STYLE
-16
ウィンドウ スタイルを取得します。
GWLP_USERDATA
-21
ウィンドウに関連付けられているユーザー データを取得します。 このデータは、ウィンドウを作成したアプリケーションで使用するためのものです。 その値は、最初は 0 です。
GWLP_WNDPROC
-4
ウィンドウ プロシージャへのポインター、またはウィンドウ プロシージャへのポインターを表すハンドルを取得します。 ウィンドウ プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。
 

次の値は、hWnd パラメーターがダイアログ ボックスを識別する場合にも使用できます。

価値 意味
DWLP_DLGPROC
DWLP_MSGRESULT + sizeof(LRESULT)
ダイアログ ボックス プロシージャへのポインター、またはダイアログ ボックス プロシージャへのポインターを表すハンドルを取得します。 ダイアログ ボックス プロシージャを呼び出すには、CallWindowProc 関数を使用する必要があります。
DWLP_MSGRESULT
0
ダイアログ ボックス プロシージャで処理されたメッセージの戻り値を取得します。
DWLP_USER
DWLP_DLGPROC + sizeof(DLGPROC)
ハンドルやポインターなど、アプリケーションに対してプライベートな追加情報を取得します。

戻り値

型: LONG_PTR

関数が成功した場合、戻り値は要求された値です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

SetWindowLong または SetWindowLongPtr が以前に呼び出されていない場合、GetWindowLongPtr は、追加のウィンドウまたはクラス メモリ内の値に対して 0 を返します。

備考

RegisterClassEx 関数で使用される WNDCLASSEX 構造体の cbWndExtra メンバーに 0 以外の値を指定して、追加のウィンドウ メモリを予約します。

手記

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetWindowLongPtr を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-windowclass-l1-1-0 (Windows 8 で導入)

関連項目

CallWindowProc の

概念

リファレンス

RegisterClassEx の

SetParent を する

SetWindowLongPtr の

WNDCLASSEX の

ウィンドウ クラス