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
エラーが発生した構造体のレベル。ゼロはキャッシュの最低レベルです。
このメンバーには、ValidBits メンバーの Level ビットが設定されている場合にのみ、有効なデータが含まれます。
Reserved
システム用に予約されています。
CPUVersion
CPU バージョン。これには、ファミリ、モデル、ステップ情報が含まれます。
x86 および x64 プロセッサの場合、このメンバーには WHEA_PROCESSOR_FAMILY_INFO 共用体が含まれます。
Itanium プロセッサの場合、このメンバーには CPUID レジスタ 3 で提供されるデータが含まれます。
このメンバーには、ValidBits メンバーの CPUVersion ビットが設定されている場合にのみ、有効なデータが含まれます。
CPUBrandString[128]
CPU ブランド文字列。
x86 および x64 プロセッサの場合、このメンバーには、入力時に EAX が0x80000002に設定された CPUID 命令を実行した後、入力時に0X80000003に設定された EAX を使用して CPUID 命令を実行した結果が含まれます。 CPUID 命令の詳細については、Intel 64 および IA-32 アーキテクチャ ソフトウェア開発者マニュアル を参照してください。
Itanium プロセッサの場合、このメンバーには、PAL_BRAND_INFO プロシージャを実行した結果が含まれます。
このメンバーには、ValidBits メンバーの CpuBrandString ビットが設定されている場合にのみ、有効なデータが含まれます。
ProcessorId
システム内の論理プロセッサを一意に識別する識別子。
x86 および x64 プロセッサの場合、このメンバーには、ローカル APIC ID レジスタにプログラミングされた値が含まれます。
Itanium プロセッサの場合、このメンバーには、LID レジスタにプログラミングされた値が含まれます。
このメンバーには、ProcessorIdValidBits メンバーのビットが設定されている場合にのみ、有効なデータが含まれます。
TargetAddress
エラーに関連付けられているターゲット アドレス。
このメンバーには、ValidBits メンバーの TargetAddress ビットが設定されている場合にのみ、有効なデータが含まれます。
RequesterId
エラーに関連付けられている要求元を一意に識別する識別子。
このメンバーには、ValidBits メンバーの RequesterId ビットが設定されている場合にのみ、有効なデータが含まれます。
ResponderId
エラーに関連付けられているレスポンダーを一意に識別する識別子。
このメンバーには、ValidBits メンバーの ResponderId ビットが設定されている場合にのみ、有効なデータが含まれます。
InstructionPointer
エラーが発生した時点の命令ポインター。
このメンバーには、ValidBits メンバーの InstructionPointer ビットが設定されている場合にのみ、有効なデータが含まれます。
備考
WHEA_PROCESSOR_GENERIC_ERROR_SECTION 構造体は、エラー レコードの汎用プロセッサ エラー セクションに含まれるエラー データを記述します。 エラー レコードに汎用プロセッサ エラー セクションが含まれるのは、SectionType、そのエラー レコードのエラー レコード セクションを記述する WHEA_ERROR_RECORD_SECTION_DESCRIPTOR 構造体のメンバーに PROCESSOR_GENERIC_ERROR_SECTION_GUIDが含まれている場合のみです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Server 2008、Windows Vista SP1、およびそれ以降のバージョンの Windows でサポートされています。 |
ヘッダー | ntddk.h |