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

发出显示驱动程序对 EngDeviceIoControl 的调用的所有 i/o 请求都从 irp 代码映射 (参阅 Irp 主要函数代码) 通过视频端口驱动程序 VRPs 。 然后,视频端口驱动程序将调用相应的微型端口驱动程序的 HwVidStartIO 函数,其中包含指向它所设置的每个 VIDEO_REQUEST_PACKET 结构的指针。 发送到 HwVidStartIO 的所有 VRPs 都将 IoControlCode 成员设置为 IOCTL_VIDEO_XXX

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

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