VideoPortRegisterBugcheckCallback 函数 (video.h)
VideoPortRegisterBugcheckCallback 函数允许视频微型端口驱动程序注册或挂钩在发生指定 bug 检查时调用的回调。
语法
VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortRegisterBugcheckCallback(
[in] IN PVOID HwDeviceExtension,
[in] IN ULONG BugcheckCode,
[in] IN PVIDEO_BUGCHECK_CALLBACK Callback,
[in] IN ULONG BugcheckDataSize
);
参数
[in] HwDeviceExtension
指向微型端口驱动程序的设备扩展的指针。
[in] BugcheckCode
指示要回调的 bug 检查代码。 目前,微型端口驱动程序只能注册 bug 检查代码0xEA。
[in] Callback
指向微型端口驱动程序的 HwVidBugcheckCallback 函数的指针。 此函数必须是非分页的,并且不得引用可分页代码或数据。 微型端口驱动程序可以将此参数设置为 NULL,以指示应取消调用检查 bug。
[in] BugcheckDataSize
指示BUGCHECK_DATA_SIZE_RESERVED之和,以及微型端口驱动程序将提供的数据字节数,以便包含在转储文件中。 此参数的值必须小于或等于 4000。 微型端口驱动程序可以将此参数设置为零,以指示应取消调用检查 bug。
返回值
如果成功,VideoPortRegisterBugcheckCallback 将返回NO_ERROR。 否则,它将返回指示失败性质的状态代码。
注解
如果你正在开发一个视频微型端口驱动程序,打算在 Windows XP 或早期基于 NT 的操作系统上运行,则可以使用 VideoPortGetProcAddress 回调例程来查找 VideoPortRegisterBugcheckCallback 函数的地址。 有关详细信息,请参阅 使用 VideoPortGetProcAddress。
当发生特定类型的 bug 检查时,微型端口驱动程序可以注册回调。 目前,只能挂钩 bug 检查代码0xEA。 当出现 bug 检查时,将调用微型驱动程序提供的回调函数,微型端口驱动程序可以将数据追加到转储文件。 当无法直接调试时,这对于收集统计数据很有用。
BugcheckDataSize 参数的值必须比微型端口驱动程序提供的数据大BUGCHECK_DATA_SIZE_RESERVED字节。 例如,假设微型端口驱动程序提供要写入转储文件的数据DUMP_SIZE字节。 然后, BugcheckDataSize 的值应DUMP_SIZE + BUGCHECK_DATA_SIZE_RESERVED,并且总值必须小于或等于 4000。
video.h) 中定义的常量BUGCHECK_DATA_SIZE_RESERVED (在 Microsoft Windows Server 2003 及更高版本环境中可用。 在 Windows XP SP1 生成环境中,使用 48 而不是 BUGCHECK_DATA_SIZE_RESERVED。
微型端口驱动程序可以通过调用此函数、为 Callback 参数指定 NULL 或为 DataSize 参数指定零来取消注册以前注册的回调。
有关详细信息,请参阅 视频端口驱动程序对 Bug 检查回调的支持。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP SP1 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |