GetExceptionInformation マクロ
例外のコンピューターに依存しない説明と、例外が発生したときにスレッドに存在するコンピューターの状態に関する情報を取得します。 この関数は、例外ハンドラーのフィルター式内からのみ呼び出すことができます。
Note
Microsoft C/C++ 最適化コンパイラは、この関数をキーワード (keyword)として解釈し、適切な例外処理構文の外部で使用するとコンパイラ エラーが発生します。
構文
LPEXCEPTION_POINTERS GetExceptionInformation(void);
パラメーター
このマクロにはパラメーターがありません。
戻り値
次の 2 つの構造体へのポインターを含む EXCEPTION_POINTERS 構造体へのポインター。
- EXCEPTION_RECORD 例外の説明を含む構造体です。
- コンピューターの状態情報を含む CONTEXT 構造体。
解説
フィルター式 (関数の呼び出し元) は、 __try ブロックの実行中に例外が発生した場合に評価され、 __except ブロックが実行されるかどうかを判断します。
フィルター式は、フィルター関数を呼び出すことができます。 フィルター関数は GetExceptionInformation を呼び出すことができません。 ただし、 GetExceptionInformation の戻り値は、パラメーターとしてフィルター関数に渡すことができます。
EXCEPTION_POINTERS情報を例外ハンドラー ブロックに渡すには、フィルター式またはフィルター関数がポインターまたはデータを、ハンドラーが後でアクセスできる安全なストレージにコピーする必要があります。
入れ子になったハンドラーの場合、各フィルター式は 、EXCEPTION_EXECUTE_HANDLER または EXCEPTION_CONTINUE_EXECUTIONとして評価されるまで評価されます。 各フィルター式は 、GetExceptionInformation を 呼び出して例外情報を取得できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
関連項目