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입니다. 수정되지 않은 Machine Check 오류가 발견되면 버퍼에 반환됩니다. 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(Machine Check Architecture) 및 MCE(Machine Check Exception) 보고 유형을 지원하지 않습니다. MCA 및 MCE 보고는 Windows WHEA(하드웨어 오류 아키텍처) 를 통해 지원됩니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ntddk.h(Ntddk.h 포함)