pHalQuerySystemInformation, fonction de rappel (ntddk.h)
La fonction de rappel pHalQuerySystemInformation lit les registres d’état des banques MCA.
Syntaxe
pHalQuerySystemInformation Phalquerysysteminformation;
NTSTATUS Phalquerysysteminformation(
[in] HAL_QUERY_INFORMATION_CLASS InformationClass,
[in] ULONG BufferSize,
[out] PVOID Buffer,
[out] PULONG ReturnedLength
)
{...}
Paramètres
[in] InformationClass
HalMcaLogInformation pour lire le journal des erreurs MCA actuel. Si l’une des erreurs de vérification de machine non détectées est trouvée, elle est retournée dans la mémoire tampon. Pour les systèmes Itanium, spécifiez HalCmcLogInformation pour lire le journal des erreurs de processeur corrigé actuel et HalCpeLogInformation pour lire le journal des erreurs de la plateforme corrigée actuelle.
[in] BufferSize
Taille, en octets, de la mémoire tampon que l’appelant fournit.
[out] Buffer
Pointeur vers une mémoire tampon fournie par l’appelant de type MCA_EXCEPTION qui contiendra les informations retournées par cette routine. Pour les processeurs Intel Itanium, les informations retournées doivent être conformes, au minimum, avec la spécification SAL V3.0, Error Record Structures, Janvier 2001, Annexe B" ». Pour les processeurs Intel Xeonum Pro, les informations sont décrites dans l’exemple de code suivant.
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
Nombre d’octets retournés dans la mémoire tampon.
Valeur de retour
Retourne STATUS_SUCCESS si un journal des erreurs existe.
Remarques
La fonction HalQuerySystemInformation retourne la première erreur. Il incombe au pilote MCA d’appeler à nouveau cette routine pour voir s’il y a plus d’erreurs disponibles.
Windows Vista et versions ultérieures de Windows ne prennent pas en charge le type de rapports MCA (Machine Check Architecture) et Machine Check Exception (MCE) décrits dans cette rubrique. Les rapports MCA et MCE sont pris en charge via l’architecture d’erreur matérielle Windows (WHEA) à la place.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | ntddk.h (include Ntddk.h) |