共用方式為


pHalSetSystemInformation 回呼函式 (ntddk.h)

向 HAL 註冊 MCA 驅動程式。

語法

pHalSetSystemInformation Phalsetsysteminformation;

NTSTATUS Phalsetsysteminformation(
  [in]  HAL_SET_INFORMATION_CLASS InformationClass,
  [in]  ULONG BufferSize,
  [out] PVOID Buffer
)
{...}

參數

[in] InformationClass

HalMcaRegisterDriver,以向 HAL 註冊 MCA 驅動程式的回呼例程。 回呼例程有兩種:ExceptionCallback 和 DpcCallback。 在計算機檢查例外狀況 (MCE) 處理程式無法重新啟動的錯誤處理期間呼叫 ExceptionCallback 例程,然後才會發出系統的錯誤檢查。 當 MCA 錯誤可重新啟動時,會呼叫 DpcCallback 例程。 針對Itanium系統,請指定 HalCmcRegisterDriver 來註冊驅動程式的更正 CPU 錯誤 DpcCallback 例程,以及 HalCpeRegisterDriver 來註冊驅動程式的更正平臺錯誤 DpcCallback。

[in] BufferSize

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

[out] Buffer

類型為 MCA_DRIVER_INFO 之呼叫端提供的緩衝區指標,其定義如下。

typedef struct _MCA_DRIVER_INFO {
  PDRIVER_EXCPTN_CALLBACK  ExceptionCallback; // NULL for Itanium corrected error registration
  PKDEFERRED_ROUTINE  DpcCallback;
  PVOID  DeviceContext;
} MCA_DRIVER_INFO, *PMCA_DRIVER_INFO;

此結構包含下列成員:

  • ExceptionCallback

    當電腦檢查例外狀況 (MCE) 發生未更正錯誤時,所要呼叫的驅動程式提供例程。 驅動程式明確無法使用任何核心服務或微調鎖定例程。 處理程式受限於與在最高 IRQL 運作的驅動程式相同的條件約束。

  • DpcCallback

    驅動程式提供的例程,針對導致計算機檢查例外狀況的更正錯誤呼叫, (MCE) 。 這個例程必須在DISPATCH_LEVEL呼叫。

  • DeviceContext

    此 MCA 驅動程式的裝置特定內容。

傳回值

如果註冊成功,則傳回STATUS_SUCCESS。

備註

必須先呼叫 HalSetSystemInformation,MCA 驅動程式才能使用任何其他介面例程。 任何指定時間只能向 HAL 註冊一個 MCA 驅動程式。

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

規格需求

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