Compartir a través de


Función de devolución de llamada pHalQuerySystemInformation (ntddk.h)

La función de devolución de llamada pHalQuerySystemInformation lee los registros de estado de los bancos MCA.

Sintaxis

pHalQuerySystemInformation Phalquerysysteminformation;

NTSTATUS Phalquerysysteminformation(
  [in]  HAL_QUERY_INFORMATION_CLASS InformationClass,
  [in]  ULONG BufferSize,
  [out] PVOID Buffer,
  [out] PULONG ReturnedLength
)
{...}

Parámetros

[in] InformationClass

HalMcaLogInformation para leer el registro de errores de MCA actual. Si se encuentra alguno de los errores de Comprobación de máquina no corregidos, se devuelve en el búfer. Para los sistemas Itanium, especifique HalCmcLogInformation para leer el registro de errores de CPU corregido actual y HalCpeLogInformation para leer el registro de errores de plataforma corregido actual.

[in] BufferSize

Tamaño, en bytes, del búfer que proporciona el autor de la llamada.

[out] Buffer

Puntero a un búfer proporcionado por el autor de la llamada de tipo MCA_EXCEPTION que contendrá la información devuelta por esta rutina. Para los procesadores Intel Itanium, la información devuelta debe ser compatible, como mínimo, con la especificación SAL V3.0, Estructuras de registro de errores, enero de 2001, Apéndice B"". Para los procesadores Intel Pentium Pro, la información es como se describe en el ejemplo de código siguiente.

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

Número de bytes que se devuelven en búfer.

Valor devuelto

Devuelve STATUS_SUCCESS si existe un registro de errores.

Comentarios

La función HalQuerySystemInformation devuelve el primer error. Es responsabilidad del controlador MCA volver a llamar a esta rutina para ver si hay más errores disponibles.

Windows Vista y versiones posteriores de Windows no admiten el tipo de informes de arquitectura de comprobación de máquinas (MCA) y excepción de comprobación de máquina (MCE) que se describen en este tema. Los informes de MCA y MCE se admiten a través de la arquitectura de errores de hardware de Windows (WHEA) en su lugar.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado ntddk.h (incluya Ntddk.h)