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。
Microsoft Windows Server 2003 及更高版本环境中提供常量BUGCHECK_DATA_SIZE_RESERVED(在 video.h中定义)。 在 Windows XP SP1 生成环境中,使用 48 而不是BUGCHECK_DATA_SIZE_RESERVED。
微型端口驱动程序可以通过调用此函数来注销以前注册的回调,为 Callback 参数指定 NULL,或为 DataSize 参数指定零。
有关详细信息,请参阅 视频端口驱动程序对 Bug 检查回调的支持。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP SP1 及更高版本的 Windows作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (include Video.h) |
库 | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |