WHEA_PROCESSOR_GENERIC_ERROR_SECTION 構造体 (ntddk.h)
WHEA_PROCESSOR_GENERIC_ERROR_SECTION構造体は、特定のプロセッサ アーキテクチャに固有ではないプロセッサ エラー データを記述します。
構文
typedef struct _WHEA_PROCESSOR_GENERIC_ERROR_SECTION {
WHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS ValidBits;
UCHAR ProcessorType;
UCHAR InstructionSet;
UCHAR ErrorType;
UCHAR Operation;
UCHAR Flags;
UCHAR Level;
USHORT Reserved;
ULONGLONG CPUVersion;
UCHAR CPUBrandString[128];
ULONGLONG ProcessorId;
ULONGLONG TargetAddress;
ULONGLONG RequesterId;
ULONGLONG ResponderId;
ULONGLONG InstructionPointer;
} WHEA_PROCESSOR_GENERIC_ERROR_SECTION, *PWHEA_PROCESSOR_GENERIC_ERROR_SECTION;
メンバー
ValidBits
この構造体 のどの メンバーに有効なデータが含まれているかを指定するWHEA_PROCESSOR_GENERIC_ERROR_SECTION_VALIDBITS共用体。
ProcessorType
プロセッサのプロセッサ アーキテクチャ。
このメンバーには、ValidBits メンバーの ProcessorType ビットが設定されている場合にのみ、有効なデータが含まれます。
値 | 説明 |
---|---|
GENPROC_PROCTYPE_XPF | x86/x64 プロセッサ ファミリ |
GENPROC_PROCTYPE_IPF | Intel Itanium プロセッサ ファミリ |
InstructionSet
エラーが発生したときに実行されていた命令セット。
このメンバーには、ValidBits メンバーの InstructionSet ビットが設定されている場合にのみ、有効なデータが含まれます。
値 | 説明 |
---|---|
GENPROC_PROCISA_X86 | x86 |
GENPROC_PROCISA_IPF | Itanium |
GENPROC_PROCISA_X64 | X64 |
ErrorType
発生したエラーの種類。
このメンバーには、ValidBits メンバーの ErrorType ビットが設定されている場合にのみ、有効なデータが含まれます。
値 | 説明 |
---|---|
GENPROC_PROCERRTYPE_UNKNOWN | 不明なエラー |
GENPROC_PROCERRTYPE_CACHE | キャッシュ エラー |
GENPROC_PROCERRTYPE_TLB | 翻訳ルックアサイド バッファー エラー |
GENPROC_PROCERRTYPE_BUS | バス エラー |
GENPROC_PROCERRTYPE_MAE | マイクロアーキテクチャ エラー |
Operation
エラーが発生したときに実行されていた操作の種類。
このメンバーには、ValidBits メンバーの Operation ビットが設定されている場合にのみ、有効なデータが含まれます。
値 | 説明 |
---|---|
GENPROC_OP_GENERIC | 不明または一般的な操作 |
GENPROC_OP_DATAREAD | 読み取られたデータ |
GENPROC_OP_DATAWRITE | データ書き込み |
GENPROC_OP_INSTRUCTIONEXE | 命令の実行 |
Flags
エラーに関する追加情報を提供するフラグのビットごとの OR の組み合わせ。
このメンバーには、ValidBits メンバーの Flags ビットが設定されている場合にのみ、有効なデータが含まれます。
値 | 説明 |
---|---|
GENPROC_FLAGS_RESTARTABLE | プログラムの実行は、エラーの後に確実に再起動できます。 |
GENPROC_FLAGS_PRECISEIP | InstructionPointer メンバー内の命令ポインターは、エラーに直接関連付けられます。 |
GENPROC_FLAGS_OVERFLOW | マシンチェックオーバーフローが発生しました。 これは、前のエラーの結果がエラー 報告リソースに残っている間に 2 つ目のエラーが発生したときに発生します。 |
GENPROC_FLAGS_CORRECTED | エラーは、ハードウェアまたはファームウェアによって修正されました。 |
Level
エラーが発生した構造体のレベル。キャッシュの最低レベルは 0 です。
このメンバーには、ValidBits メンバーの Level ビットが設定されている場合にのみ、有効なデータが含まれます。
Reserved
システムで使用するために予約されています。
CPUVersion
CPU バージョン。ファミリ、モデル、ステップ情報が含まれます。
x86 および x64 プロセッサの場合、このメンバーには WHEA_PROCESSOR_FAMILY_INFO 共用体が含まれます。
Itanium プロセッサの場合、このメンバーには CPUID レジスタ 3 で提供されるデータが含まれます。
このメンバーには、ValidBits メンバーの CPUVersion ビットが設定されている場合にのみ、有効なデータが含まれます。
CPUBrandString[128]
CPU ブランド文字列。
x86 および x64 プロセッサの場合、このメンバーには、入力時に EAX を 0x80000002 に設定して CPUID 命令を実行した後、入力時に EAX を 0x80000003 に設定して CPUID 命令を実行した結果が含まれます。 CPUID 命令の詳細については、「Intel 64 および IA-32 アーキテクチャ ソフトウェア開発者マニュアル」を参照してください。
Itanium プロセッサの場合、このメンバーには 、PAL_BRAND_INFO プロシージャを実行した結果が含まれます。
このメンバーには、ValidBits メンバーの CpuBrandString ビットが設定されている場合にのみ、有効なデータが含まれます。
ProcessorId
システム内の論理プロセッサを一意に識別する識別子。
x86 および x64 プロセッサの場合、このメンバーには、ローカル APIC ID レジスタにプログラムされた値が含まれます。
Itanium プロセッサの場合、このメンバーには LID レジスタにプログラムされた値が含まれます。
このメンバーには、ValidBits メンバーの ProcessorId ビットが設定されている場合にのみ、有効なデータが含まれます。
TargetAddress
エラーに関連付けられているターゲット アドレス。
このメンバーには、ValidBits メンバーの TargetAddress ビットが設定されている場合にのみ、有効なデータが含まれます。
RequesterId
エラーに関連付けられているリクエスターを一意に識別する識別子。
このメンバーには、ValidBits メンバーの RequesterId ビットが設定されている場合にのみ、有効なデータが含まれます。
ResponderId
エラーに関連付けられているレスポンダーを一意に識別する識別子。
このメンバーには、ValidBits メンバーの ResponderId ビットが設定されている場合にのみ、有効なデータが含まれます。
InstructionPointer
エラーが発生した時点の命令ポインター。
このメンバーには、ValidBits メンバーの InstructionPointer ビットが設定されている場合にのみ、有効なデータが含まれます。
注釈
WHEA_PROCESSOR_GENERIC_ERROR_SECTION構造体は、エラー レコードの汎用プロセッサ エラー セクションに含まれるエラー データを記述します。 エラー レコードに汎用プロセッサ エラー セクションが含まれるのは、そのエラー レコードのエラー レコード セクションを記述するWHEA_ERROR_RECORD_SECTION_DESCRIPTOR構造体の 1 つの SectionType メンバーにPROCESSOR_GENERIC_ERROR_SECTION_GUIDが含まれている場合のみです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2008、Windows Vista SP1、およびそれ以降のバージョンの Windows でサポートされています。 |
Header | ntddk.h |