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
指定一个值,该值指示 bug 检查的原因。
[in] P1
指向提供其他信息的值的指针,例如发生内存损坏错误的地址和数据。 该值取决于 BugCheckCode 参数的值。
[in] P2
指向提供其他信息的值的指针,例如发生内存损坏错误的地址和数据。 该值取决于 BugCheckCode 参数的值。
[in] P3
指向提供其他信息的值的指针,例如发生内存损坏错误的地址和数据。 该值取决于 BugCheckCode 参数的值。
[in] P4
指向提供其他信息的值的指针,例如发生内存损坏错误的地址和数据。 该值取决于 BugCheckCode 参数的值。
返回值
无
备注
bug 检查是系统检测到的错误,导致系统立即受控关闭。 当图形驱动程序发现不可恢复的错误时,它应生成 bug 检查。
图形驱动程序应仅在出现可能损坏系统的严重、无法恢复的错误时调用 EngBugCheckEx。 如果可能,所有图形驱动程序都应记录错误并继续运行。 例如,如果驱动程序无法分配所需的资源,它应记录错误,以便系统继续运行;它不得检查生成 bug。
EngBugCheckEx 在开发图形驱动程序的早期阶段或正在进行测试时非常有用。 在这些情况下,传递给此函数的 BugCheckCode 值应不同于 Windows 或其驱动程序已在使用的代码。 有关这些代码的列表,请参阅 Bug 检查代码。
但是,即使在驱动程序开发期间,此例程的使用也有限,因为它会导致系统完全关闭。 更有效的调试方法是将内核调试器附加到系统,然后使用将消息发送到调试器或中断调试器的例程。 有关详细信息,请参阅 在驱动程序中使用调试代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 此函数在 Microsoft Windows Server 2003 及更高版本中可用。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |