funzione di callback pHalQuerySystemInformation (ntddk.h)
La funzione di callback pHalQuerySystemInformation legge i registri di stato delle banche MCA.
Sintassi
pHalQuerySystemInformation Phalquerysysteminformation;
NTSTATUS Phalquerysysteminformation(
[in] HAL_QUERY_INFORMATION_CLASS InformationClass,
[in] ULONG BufferSize,
[out] PVOID Buffer,
[out] PULONG ReturnedLength
)
{...}
Parametri
[in] InformationClass
HalMcaLogInformation per leggere il log degli errori MCA corrente. Se viene trovato uno degli errori di controllo computer non corretti, viene restituito nel buffer. Per i sistemi Itanium, specificare HalCmcLogInformation per leggere il log degli errori della CPU corretto corrente e HalCpeLogInformation per leggere il log degli errori della piattaforma corretto corrente.
[in] BufferSize
Dimensioni, in byte, del buffer fornito dal chiamante.
[out] Buffer
Puntatore a un buffer fornito dal chiamante di tipo MCA_EXCEPTION che conterrà le informazioni restituite da questa routine. Per i processori Intel Itanium, le informazioni restituite devono essere conformi, almeno, con la specifica V3.0 SAL, Le strutture record di errore, gennaio 2001, Appendice B"". Per i processori Intel Pentium Pro, le informazioni sono descritte nell'esempio di codice seguente.
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
Numero di byte restituiti nel buffer.
Valore restituito
Restituisce STATUS_SUCCESS se esiste un log degli errori.
Commenti
La funzione HalQuerySystemInformation restituisce il primo errore. È responsabilità del driver MCA chiamare di nuovo questa routine per verificare se sono disponibili altri errori.
Windows Vista e versioni successive di Windows non supportano il tipo di report MCA (Machine Check Architecture) e Machine Check Exception (MCE) descritto in questo argomento. I report MCA e MCE sono supportati tramite l'architettura degli errori hardware di Windows (WHEA).
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | ntddk.h (include Ntddk.h) |