共用方式為


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