функция обратного вызова 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
HalMcaLogInformation для чтения текущего журнала ошибок MCA. Если обнаружена какая-либо из некорректных ошибок проверки компьютера, она возвращается в буфере. Для систем Itanium укажите HalCmcLogInformation для чтения текущего исправленного журнала ошибок ЦП и HalCpeLogInformation для чтения текущего журнала исправленных ошибок платформы.
[in] BufferSize
Размер буфера в байтах, который предоставляет вызывающий объект.
[out] Buffer
Указатель на предоставленный вызывающим буфер типа MCA_EXCEPTION, который будет содержать сведения, возвращаемые этой подпрограммой. Для процессоров Intel Itanium возвращаемые сведения должны соответствовать как минимум спецификации SAL версии 3.0, структурам записей ошибок, января 2001 года, приложению B". Сведения для процессоров Intel Xeon 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
Количество байтов, возвращаемых в буфере.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если существует журнал ошибок.
Замечания
Функция HalQuerySystemInformation возвращает первую ошибку. Это ответственность драйвера MCA снова вызвать эту подпрограмму, чтобы узнать, есть ли больше ошибок.
Windows Vista и более поздние версии Windows не поддерживают отчеты о типах проверки компьютера (MCA) и отчетов об исключении проверки компьютера (MCE), описанных в этом разделе. Отчеты MCA и MCE поддерживаются с помощью архитектуры аппаратных ошибок Windows (WHEA).
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | ntddk.h (include Ntddk.h) |