Função de retorno de chamada pHalQuerySystemInformation (ntddk.h)

A função de retorno de chamada pHalQuerySystemInformation lê os registros de status dos bancos MCA.

Sintaxe

pHalQuerySystemInformation Phalquerysysteminformation;

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

Parâmetros

[in] InformationClass

O HalMcaLogInformation para ler o log de erros do MCA atual. Se algum dos erros de Verificação de Computador não corrigidos for encontrado, ele será retornado no buffer. Para sistemas Itanium, especifique HalCmcLogInformation para ler o log de erros da CPU corrigido atualmente e HalCpeLogInformation para ler o log de erros da plataforma corrigida atualmente.

[in] BufferSize

O tamanho, em bytes, do buffer fornecido pelo chamador.

[out] Buffer

Um ponteiro para um buffer fornecido pelo chamador do tipo MCA_EXCEPTION que conterá as informações retornadas por essa rotina. Para processadores Intel Itanium, as informações retornadas devem estar em conformidade, no mínimo, com a especificação SAL V3.0, Estruturas de Registro de Erro, janeiro de 2001, Apêndice B"". Para processadores Intel Pentium Pro, as informações são conforme descrito no exemplo de código a seguir.

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

O número de bytes retornados no Buffer.

Retornar valor

Retorna STATUS_SUCCESS se houver um log de erros.

Comentários

A função HalQuerySystemInformation retorna o primeiro erro. É responsabilidade do driver MCA chamar essa rotina novamente para ver se há mais erros disponíveis.

O Windows Vista e versões posteriores do Windows não dão suporte ao tipo de relatórios MCA (Machine Check Architecture) e MCE (Machine Check Exception) descritos neste tópico. Os relatórios MCA e MCE têm suporte por meio da WHEA (Arquitetura de Erros de Hardware) do Windows .

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho ntddk.h (inclua Ntddk.h)