共用方式為


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

要讀取目前 MCA 錯誤記錄檔的 HalMcaLogInformation。 如果找到任何未更正的計算機檢查錯誤,則會在緩衝區中傳回。 針對Itanium系統,指定 HalCmcLogInformation 來讀取目前的更正 CPU 錯誤記錄檔和 HalCpeLogInformation,以讀取目前更正的平臺錯誤記錄檔。

[in] BufferSize

呼叫端提供的緩衝區大小,以位元組為單位。

[out] Buffer

MCA_EXCEPTION型別呼叫端提供的緩衝區指標,其中包含此例程所傳回的資訊。 針對 Intel Itanium 處理器,傳回的資訊至少必須符合 V3.0 SAL 規格、錯誤記錄結構、2001 年 1 月附錄 B“” 的規範。 針對 Intel Pentium 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

Buffer 中傳回的位元組數目。

傳回值

如果錯誤記錄檔存在,則傳回STATUS_SUCCESS。

備註

HalQuerySystemInformation 函式會傳回第一個錯誤。 MCA 驅動程式必須再次呼叫此例程,以查看是否有更多可用的錯誤。

Windows Vista 和更新版本的 Windows 不支援電腦檢查架構類型, (MCA) 和電腦檢查例外狀況 (MCE) ,如本主題所述。 透過 Windows 硬體錯誤架構支援 MCA 和 MCE 報告 , (WHEA)

規格需求

需求
目標平台 桌面
標頭 ntddk.h (包含 Ntddk.h)