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 结构的指针。 微型端口驱动程序必须已设置 InputBufferInputBufferLength 分别包含要锁定的内存的虚拟地址和大小(以字节为单位)。 此内存由显示驱动程序分配,并通过 IOCTL 传递到微型端口驱动程序。 视频端口返回指向的指针以及 OutputBufferOutputBufferLength中散点/收集列表的大小(以字节为单位)。

[in] pUEvent

指向要由微型端口驱动程序设置的映射用户事件的指针,或 NULL。 用户事件由显示驱动程序映射,并通过 IOCTL 传递到微型端口驱动程序。

[in] pDisplayEvent

指向要由微型端口驱动程序设置的事件的指针,或 NULL。 此事件由显示驱动程序通过 IOCTL 创建并接收。

[in] DmaFlags

指定要执行的作。 此参数必须是下列值之一:

价值 意义
VideoPortDmaInitOnly VideoPortLockPages 锁定请求的内存。
VideoPortKeepPagesLocked VideoPortLockPages 不执行任何作。
VideoPortUnlockAfterDma VideoPortLockPages 不执行任何作。

返回值

VideoPortLockPages 成功完成请求的作后返回 TRUE。 如果 DmaFlags 参数不 等于 videoPortDmaInitOnly,则返回 FALSE

言论

有关基于数据包和通用缓冲区 DMA 传输的信息,请参阅视频微型端口驱动程序 中的Bus-Master DMA。

无法从 ISR 或 DPC 调用 VideoPortLockPages

要求

要求 价值
最低支持的客户端 在 Windows 2000 及更高版本的 Windows作系统中可用。
目标平台 桌面
标头 video.h (include Video.h)
Videoprt.lib
DLL Videoprt.sys

另请参阅

VideoPortLockBuffer