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) |