处理视频请求(Windows 2000 模型)

源自显示驱动程序调用 EngDeviceIoControl 的所有 I/O 请求都从 IRP 代码映射 (请参阅视频端口驱动程序) 到 VRP的 IRP 主要功能代码。 然后,视频端口驱动程序使用指向其设置的每个VIDEO_REQUEST_PACKET结构的指针调用相应的微型端口驱动程序的 HwVidStartIO 函数。 发送到 HwVidStartIO 的所有 VRP 将 IoControlCode 成员设置为 IOCTL_VIDEO_XXX

视频端口驱动程序还管理所有视频微型端口驱动程序的传入请求的同步,方法是一次只发送一个 VRP 来处理每个微型端口驱动程序的 HwVidStartIO 例程。 HwVidStartIO 拥有每个输入 VRP,直到微型端口驱动程序完成请求的操作并返回控制权。 在微型端口驱动程序完成当前 VRP 之前,视频端口驱动程序会保留 I/O 管理器发送的任何未完成的 IRP 代码,以响应相应显示驱动程序对 EngDeviceIoControl 的 后续调用。

收到视频请求后, HwVidStartIO 必须检查 VRP,处理适配器上的视频请求,在 VRP 中设置适当的状态和其他信息,并返回 TRUE