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 硬件错误体系结构 (WHEA) 支持 MCA 和 MCE 报告。

要求

要求
目标平台 桌面
标头 ntddk.h (包括 Ntddk.h)