pHalQuerySystemInformation コールバック関数 (ntddk.h)
pHalQuerySystemInformation コールバック関数は、MCA バンクのステータス レジスタを読み取ります。
構文
pHalQuerySystemInformation Phalquerysysteminformation;
NTSTATUS Phalquerysysteminformation(
[in] HAL_QUERY_INFORMATION_CLASS InformationClass,
[in] ULONG BufferSize,
[out] PVOID Buffer,
[out] PULONG ReturnedLength
)
{...}
パラメーター
[in] InformationClass
現在の MCA エラー ログを読み取る HalMcaLogInformation。 修正されていないマシン チェック エラーのいずれかが見つかった場合は、バッファーに返されます。 Itanium システムの場合は、HalCmcLogInformation を指定して、現在修正された CPU エラー ログと HalCpeLogInformation を読み取り、現在修正されたプラットフォーム エラー ログを読み取ります。
[in] BufferSize
呼び出し元が提供するバッファーのサイズ (バイト単位)。
[out] Buffer
このルーチンによって返される情報を格納するMCA_EXCEPTION型の呼び出し元から提供されるバッファーへのポインター。 Intel Itanium プロセッサの場合、返される情報は、少なくとも V3.0 SAL 仕様である Error Record Structures、2001 年 1 月、付録 B" に準拠している必要があります。 Intel Pentium Pro プロセッサの場合、情報は次のコード例の説明に従います。
typedef union _MCI_STATS {
struct {
USHORT McaCod;
USHORT MsCod;
ULONG OtherInfo : 25;
ULONG Damage : 1;
ULONG AddressValid : 1;
ULONG MiscValid : 1;
ULONG Enabled : 1;
ULONG UnCorrected : 1;
ULONG OverFlow : 1;
ULONG Valid : 1;
} MciStats;
ULONGLONG QuadPart;
} MCI_STATS, *PMCI_STATS;
typedef union _MCI_ADDR{
struct {
ULONG Address;
ULONG Reserved;
} MciAddr;
ULONGLONG QuadPart;
} MCI_ADDR, *PMCI_ADDR;
typedef struct _MCA_EXCEPTION {
ULONG VersionNumber; // Version number of this record type
MCA_EXCEPTION_TYPE ExceptionType; // MCA or MCE
LARGE_INTEGER TimeStamp; // exception recording timestamp
ULONG ProcessorNumber;// processor number
union {
struct {
UCHAR BankNumber; // bank number
MCI_STATS Status;
MCI_ADDR Address;
ULONGLONG Misc;
} Mca;
struct {
ULONGLONG McAddress; // physical address for the cycle causing the error
ULONGLONG McType; // cycle specification causing the error
} Mce;
} u;
} MCA_EXCEPTION, *PMCA_EXCEPTION;
[out] ReturnedLength
Buffer で返されるバイト数。
戻り値
エラー ログが存在する場合は、STATUS_SUCCESSを返します。
注釈
HalQuerySystemInformation 関数は、最初のエラーを返します。 このルーチンをもう一度呼び出して、使用可能なエラーがもう一度発生するかどうかを確認するのは、MCA ドライバーの責任です。
Windows Vista 以降のバージョンの Windows では、このトピックで説明するマシン チェック アーキテクチャ (MCA) レポートとマシン チェック例外 (MCE) レポートの種類はサポートされていません。 MCA と MCE のレポートは、代わりに Windows ハードウェア エラー アーキテクチャ (WHEA) を通じてサポートされます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | ntddk.h (Ntddk.h を含む) |