Win32 API 日本語リファレンス
ホーム › UI.WindowsAndMessaging › SENDASYNCPROC

SENDASYNCPROC

コールバック

シグネチャ

void SENDASYNCPROC(
    HWND param0,
    DWORD param1,
    UINT_PTR param2,
    LRESULT param3
);

パラメーター

フィールド型説明
param0HWND

メッセージを受け取ったウィンドウプロシージャを持つウィンドウへのハンドルです。このパラメーターは通常 hWnd という名前になります。

SendMessageCallback 関数が hWnd パラメーターに HWND_BROADCAST を指定して呼び出された場合、システムは各トップレベルウィンドウについて SendAsyncProc 関数を 1 回ずつ呼び出します。

param1DWORDメッセージです。このパラメーターは通常 uMsg という名前になります。
param2UINT_PTRSendMessageCallback 関数から渡された、アプリケーション定義の値です。このパラメーターは通常 dwData という名前になります。
param3LRESULTメッセージ処理の結果です。この値はメッセージによって異なります。このパラメーターは通常 lResult という名前になります。

公式ドキュメント

SendMessageCallback 関数と共に使用される、アプリケーション定義のコールバック関数です。システムは、メッセージを宛先のウィンドウプロシージャに渡した後、そのメッセージをこのコールバック関数に渡します。SENDASYNCPROC 型は、このコールバック関数へのポインターを定義します。SendAsyncProc は、アプリケーション定義の関数名のプレースホルダーです。

解説(Remarks)

メモ

これらのパラメーターはヘッダー内で名前を持たずに定義されています: typedef VOID (CALLBACK* SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT);。そのため、構文ブロックでは unnamedParam1 ~ unnamedParam4 として記載されています。アプリ内ではこれらのパラメーターに任意の名前を付けられますが、通常はパラメーターの説明に示した名前が使われます。

SendAsyncProc アプリケーション定義のコールバック関数は、SENDASYNCPROC ポインターを SendMessageCallback 関数に渡すことでインストールします。

このコールバック関数は、SendMessageCallback を呼び出したスレッドが GetMessage、PeekMessage、または WaitMessage を呼び出したときにのみ呼び出されます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)