pHalQuerySystemInformation-Rückruffunktion (ntddk.h)
Die Rückruffunktion pHalQuerySystemInformation liest die status Register der MCA-Banken.
Syntax
pHalQuerySystemInformation Phalquerysysteminformation;
NTSTATUS Phalquerysysteminformation(
[in] HAL_QUERY_INFORMATION_CLASS InformationClass,
[in] ULONG BufferSize,
[out] PVOID Buffer,
[out] PULONG ReturnedLength
)
{...}
Parameter
[in] InformationClass
HalMcaLogInformation zum Lesen des aktuellen MCA-Fehlerprotokolls. Wenn einer der nicht korrigierten Computerprüfungsfehler gefunden wird, wird er im Puffer zurückgegeben. Geben Sie für Itanium-Systeme HalCmcLogInformation an, um das aktuell korrigierte CPU-Fehlerprotokoll zu lesen, und HalCpeLogInformation, um das aktuell korrigierte Plattformfehlerprotokoll zu lesen.
[in] BufferSize
Die Größe des Puffers, den der Aufrufer bereitstellt, in Byte.
[out] Buffer
Ein Zeiger auf einen vom Aufrufer bereitgestellten Puffer vom Typ MCA_EXCEPTION, der die von dieser Routine zurückgegebenen Informationen enthält. Für Intel Itanium-Prozessoren müssen die zurückgegebenen Informationen mindestens mit der SAL-Spezifikation V3.0, Error Record Structures, Januar 2001, Anhang B" konform sein. Für Intel Pentium Pro-Prozessoren sind die Informationen wie im folgenden Codebeispiel beschrieben.
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
Die Anzahl der Bytes, die in Buffer zurückgegeben werden.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn ein Fehlerprotokoll vorhanden ist.
Hinweise
Die HalQuerySystemInformation-Funktion gibt den ersten Fehler zurück. Es liegt in der Verantwortung des MCA-Treibers, diese Routine erneut aufzurufen, um zu sehen, ob weitere Fehler verfügbar sind.
Windows Vista und höhere Versionen von Windows unterstützen nicht den Typ der Berichte zur Machine Check Architecture (MCA) und Machine Check Exception (MCE), die in diesem Thema beschrieben werden. MCA- und MCE-Berichte werden stattdessen über die Windows-Hardwarefehlerarchitektur (WINDOWS Hardware Error Architecture, WHEA) unterstützt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ntddk.h (include Ntddk.h) |