EngBugCheckEx 函式 (winddi.h)
當呼叫端發現無法復原的錯誤時,當呼叫端繼續執行時, EngBugCheckEx 函式會以受控制的方式關閉系統。
語法
ENGAPI VOID EngBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR P1,
[in] ULONG_PTR P2,
[in] ULONG_PTR P3,
[in] ULONG_PTR P4
);
參數
[in] BugCheckCode
指定值,指出錯誤檢查的原因。
[in] P1
提供其他資訊的值指標,例如發生記憶體損毀錯誤的地址和數據。 此值取決於 BugCheckCode 參數的值。
[in] P2
提供其他資訊的值指標,例如發生記憶體損毀錯誤的地址和數據。 此值取決於 BugCheckCode 參數的值。
[in] P3
提供其他資訊的值指標,例如發生記憶體損毀錯誤的地址和數據。 此值取決於 BugCheckCode 參數的值。
[in] P4
提供其他資訊的值指標,例如發生記憶體損毀錯誤的地址和數據。 此值取決於 BugCheckCode 參數的值。
傳回值
無
備註
錯誤檢查是系統偵測到的錯誤,導致系統立即關機。 當圖形驅動程式發現無法復原的錯誤時,它應該會產生錯誤檢查。
圖形驅動程式應該只在發生嚴重、無法復原且可能損毀系統的錯誤時,才呼叫 EngBugCheckEx。 可能的話,所有圖形驅動程式都應該記錄錯誤並繼續執行。 例如,如果驅動程式無法配置所需的資源,它應該會記錄錯誤,讓系統繼續執行;它不得產生錯誤檢查。
EngBugCheckEx 在開發圖形驅動程式的早期階段,或在進行測試時很有用。 在這些情況下,傳遞給此函式的 BugCheckCode 值應該與 Windows 或其驅動程式已使用的程式代碼不同。 如需這些程式代碼的清單,請參閱 錯誤檢查代碼。
不過,即使在驅動程式開發期間,此例程也只有有限的用途,因為它會導致完整的系統關機。 更有效率的偵錯方法是將核心調試程式附加至系統,然後使用將訊息傳送至調試程式或中斷調試程式的例程。 如需詳細資訊,請參閱 在驅動程式中使用偵錯程序代碼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 此函式可在 Microsoft Windows Server 2003 和更新版本中取得。 |
目標平台 | Universal |
標頭 | winddi.h (包含Winddi.h) |
程式庫 | Win32k.lib |
Dll | Win32k.sys |