EXCEPTION_RECORD 構造体 (winnt.h)
例外について説明します。
構文
typedef struct _EXCEPTION_RECORD {
DWORD ExceptionCode;
DWORD ExceptionFlags;
struct _EXCEPTION_RECORD *ExceptionRecord;
PVOID ExceptionAddress;
DWORD NumberParameters;
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD;
メンバー
ExceptionCode
例外が発生した理由。 これは、ハードウェア例外によって生成されたコード、またはソフトウェアによって生成された例外の RaiseException 関数で指定されたコードです。 次の表では、一般的なプログラミング エラーが原因で発生する可能性がある例外コードについて説明します。
別の例外コードは、コンソールプロセスのデバッグ時に発生する可能性があります。 プログラミング エラーが原因で発生することはありません。 DBG_CONTROL_C例外コードは、CTRL + C シグナルを処理し、デバッグ中のコンソール プロセスに Ctrl + C が入力されるときに発生します。 この例外コードは、アプリケーションによって処理されるものではありません。 デバッガーの利点のためにのみ発生し、デバッガーがコンソール プロセスにアタッチされている場合にのみ発生します。
ExceptionFlags
このメンバーには、0 個以上の例外フラグが含まれています。 次の表では、一般的に見られる例外フラグの一部について説明します。 次の表に示されていない例外フラグは、システム使用のために予約済みとして扱う必要があります。
ExceptionRecord
関連付けられた EXCEPTION_RECORD 構造体へのポインター。 例外レコードを連結して、入れ子になった例外が発生したときに追加情報を提供できます。
ExceptionAddress
例外が発生したアドレス。
NumberParameters
例外に関連付けられているパラメーターの数。 これは、 ExceptionInformation 配列内の定義された要素の数です。
ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]
例外を記述する追加の引数の配列。 RaiseException 関数は、この引数の配列を指定できます。 ほとんどの例外コードでは、配列要素は未定義です。 次の表では、配列要素が定義されている例外コードについて説明します。
注釈
デバッガーが別のアーキテクチャ (32 ビットと 64 ビット) で実行されているターゲットをデバッグできるようにするには、この構造体のいずれかの明示的な形式を使用します。
typedef struct _EXCEPTION_RECORD32 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD ExceptionRecord;
DWORD ExceptionAddress;
DWORD NumberParameters;
DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD32, *PEXCEPTION_RECORD32;
typedef struct _EXCEPTION_RECORD64 {
DWORD ExceptionCode;
DWORD ExceptionFlags;
DWORD64 ExceptionRecord;
DWORD64 ExceptionAddress;
DWORD NumberParameters;
DWORD __unusedAlignment;
DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
} EXCEPTION_RECORD64, *PEXCEPTION_RECORD64;
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
Header | winnt.h (Windows.h を含む) |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示