Fungsi panggilan balik pHalQuerySystemInformation (ntddk.h)

Fungsi panggilan balik pHalQuerySystemInformation membaca daftar status bank MCA.

Sintaks

pHalQuerySystemInformation Phalquerysysteminformation;

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

Parameter

[in] InformationClass

HalMcaLogInformation untuk membaca log kesalahan MCA saat ini. Jika salah satu kesalahan Pemeriksaan Mesin yang tidak dikoreksi ditemukan, kesalahan dikembalikan di buffer. Untuk sistem Itanium, tentukan HalCmcLogInformation untuk membaca log kesalahan CPU yang dikoreksi saat ini dan HalCpeLogInformation untuk membaca log kesalahan platform yang dikoreksi saat ini.

[in] BufferSize

Ukuran, dalam byte, dari buffer yang disediakan pemanggil.

[out] Buffer

Penunjuk ke buffer jenis MCA_EXCEPTION yang disediakan penelepon yang akan berisi informasi yang dikembalikan oleh rutinitas ini. Untuk prosesor Intel Itanium, informasi yang dikembalikan harus sesuai, minimal, dengan spesifikasi V3.0 SAL, Struktur Catatan Kesalahan, Januari 2001, Lampiran B"". Untuk prosesor Intel Pentium Pro, informasinya seperti yang dijelaskan dalam contoh kode berikut.

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

Jumlah byte yang dikembalikan dalam Buffer.

Nilai kembali

Mengembalikan STATUS_SUCCESS jika ada log kesalahan.

Keterangan

Fungsi HalQuerySystemInformation mengembalikan kesalahan pertama. Merupakan tanggung jawab driver MCA untuk memanggil rutinitas ini lagi untuk melihat apakah ada kesalahan lagi yang tersedia.

Windows Vista dan versi Windows yang lebih baru tidak mendukung jenis Pelaporan Machine Check Architecture (MCA) dan Machine Check Exception (MCE) yang dijelaskan dalam topik ini. Pelaporan MCA dan MCE didukung melalui Windows Hardware Error Architecture (WHEA).

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header ntddk.h (termasuk Ntddk.h)