VideoPortLockPages 函数 (video.h)
VideoPortLockPages 函数在 Windows 2000 及更高版本中已过时。 使用 VideoPortLockBuffer 代替此函数。
VideoPortLockPages 锁定指定的虚拟内存,并可能执行部分或全部 DMA 传输。
语法
VIDEOPORT_DEPRECATED VIDEOPORT_API BOOLEAN VideoPortLockPages(
[in] IN PVOID HwDeviceExtension,
[in, out] IN OUT PVIDEO_REQUEST_PACKET pVrp,
[in] IN PEVENT pUEvent,
[in] IN PEVENT pDisplayEvent,
[in] IN DMA_FLAGS DmaFlags
);
参数
[in] HwDeviceExtension
指向微型端口驱动程序的设备扩展的指针。
[in, out] pVrp
指向 VIDEO_REQUEST_PACKET 结构的指针。 微型端口驱动程序必须设置 InputBuffer 和 InputBufferLength ,以分别包含要锁定的传输内存的虚拟地址和大小(以字节为单位)。 此内存由显示驱动程序分配,并通过 IOCTL 传递给微型端口驱动程序。 视频端口分别返回指向的指针,以及 OutputBufferLength 和 OutputBufferLength 中散点/收集列表的大小(以字节为单位)。
[in] pUEvent
指向将由微型端口驱动程序设置的映射用户事件的指针,或 NULL。 用户事件由显示驱动程序映射,并通过 IOCTL 传递给微型端口驱动程序。
[in] pDisplayEvent
指向将由微型端口驱动程序设置的事件的指针,或 NULL。 此事件由显示驱动程序创建并通过 IOCTL 接收。
[in] DmaFlags
指定要执行的操作。 此参数必须是以下值之一:
值 | 含义 |
---|---|
VideoPortDmaInitOnly | VideoPortLockPages 锁定请求的内存。 |
VideoPortKeepPagesLocked | VideoPortLockPages 不执行任何操作。 |
VideoPortUnlockAfterDma | VideoPortLockPages 不执行任何操作。 |
返回值
VideoPortLockPages 在成功完成请求的操作后返回 TRUE 。 如果 DmaFlags 参数不等于 VideoPortDmaInitOnly,则返回 FALSE。
注解
有关基于数据包和通用缓冲区 DMA 传输的信息,请参阅 视频微型端口驱动程序中的总线主 DMA。
无法从 ISR 或 DPC 调用 VideoPortLockPages。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 2000 及更高版本的 Windows 操作系统。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |