WNDPROC コールバック関数 (winuser.h)

アプリケーションで定義する、ウィンドウに送信されたメッセージを処理するコールバック関数。 WNDPROC 型は、このコールバック関数へのポインターを定義します。 WndProc 名は、アプリケーションで定義する関数の名前のプレースホルダーです。

構文

WNDPROC Wndproc;

LRESULT Wndproc(
  HWND unnamedParam1,
  UINT unnamedParam2,
  WPARAM unnamedParam3,
  LPARAM unnamedParam4
)
{...}

パラメーター

unnamedParam1

種類: HWND

ウィンドウへのハンドル。 通常、このパラメーターの名前は hWnd です

unnamedParam2

型: UINT

メッセージ。 通常、このパラメーターの名前は uMsg です

システム提供のメッセージの一覧については、「 システム定義メッセージ」を参照してください。

unnamedParam3

種類: WPARAM

追加のメッセージ情報。 このパラメーターは通常、 wParam という名前です。

wParam パラメーターの内容は、uMsg パラメーターの値によって異なります。

unnamedParam4

種類: LPARAM

追加のメッセージ情報。 通常、このパラメーターの名前は lParam です

lParam パラメーターの内容は、uMsg パラメーターの値によって異なります。

戻り値

型: LRESULT

戻り値はメッセージ処理の結果であり、送信されたメッセージによって異なります。

注釈

アプリケーションが 32 ビット バージョンの Windows オペレーティング システムで実行されている場合、コールバックからキャッチされない例外は、使用可能な場合は、アプリケーションの上位レベルの例外ハンドラーに渡されます。 その後、システムは未処理の例外フィルターを呼び出して、プロセスを終了する前に例外を処理します。 PCA が有効になっている場合は、次回アプリケーションを実行するときに問題を解決することが提供されます。

ただし、アプリケーションが 64 ビット バージョンの Windows オペレーティング システムまたは WOW64 で実行されている場合、64 ビット オペレーティング システムは、64 ビット プロセッサ アーキテクチャ、例外アーキテクチャ、呼び出し規則に基づいてキャッチされない例外を異なる方法で処理することに注意する必要があります。 次の表は、64 ビットの Windows オペレーティング システムまたは WOW64 がキャッチされない例外を処理する可能性のあるすべての方法をまとめたものです。

動作の種類 キャッチされない例外をシステムが処理する方法
1 システムはキャッチされない例外を抑制します。
2 システムは最初にプロセスを終了し、次にプログラム互換性アシスタント (PCA) が次にアプリケーションを実行するときに修正を提供します。 アプリケーション マニフェストに Compatibility セクションを追加することで、PCA の軽減策を無効にすることができます。
3 システムは例外フィルターを呼び出しますが、関連付けられたハンドラーを呼び出さずに、コールバック スコープから離れたときにキャッチされない例外を抑制します。

次の表は、64 ビット バージョンの Windows オペレーティング システムと WOW64 がキャッチされない例外を処理する方法を示しています。 動作の種類 2 は、Windows 7 オペレーティング システムの 64 ビット バージョン以降にのみ適用されることに注意してください。

オペレーティング システム WOW64 64 ビット Windows
Windows XP 3 1
Windows Server 2003 3 1
Windows Vista 3 1
Windows Vista SP1 1 1
Windows 7 以降 1 2

Note

WINDOWS 7 SP1 (32 ビット、64 ビット、または WOW64) では、システムはハンドルされない例外フィルターを呼び出して、プロセスを終了する前に例外を処理します。 プログラム互換性アシスタント (PCA) が有効になっている場合は、次回アプリケーションを実行するときに問題を解決する機能が提供されます。

アプリケーションで例外を処理する必要がある場合は、構造化例外処理を使用してこれを行うことができます。 構造化例外処理の使用方法の詳細については、「構造化例外 処理」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (include windows.h)

こちらもご覧ください