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 硬體錯誤架構 (WHEA) 支援 MCA 和 MCE 報告。
要求
要求 | 價值 |
---|---|
目標平臺 | 桌面 |
標頭 | ntddk.h (包括 Ntddk.h) |