VideoPortAllocateCommonBuffer 函数 (video.h)
VideoPortAllocateCommonBuffer 函数分配和映射系统内存,以便可以同时从处理器和设备访问系统内存,以便执行通用缓冲区 DMA 操作。
语法
VIDEOPORT_DEPRECATED VIDEOPORT_API PVOID VideoPortAllocateCommonBuffer(
[in] IN PVOID HwDeviceExtension,
[in] IN PVP_DMA_ADAPTER VpDmaAdapter,
[in] IN ULONG DesiredLength,
[out] OUT PPHYSICAL_ADDRESS LogicalAddress,
[in] IN BOOLEAN CacheEnabled,
[out] OUT PVOID Reserved
);
参数
[in] HwDeviceExtension
指向微型端口驱动程序的设备扩展的指针。
[in] VpDmaAdapter
指向 VP_DMA_ADAPTER 结构的指针,该结构表示总线-主适配器。 此结构是由之前对 VideoPortGetDmaAdapter 的调用返回的。
[in] DesiredLength
指定请求的内存字节数。
[out] LogicalAddress
指向内存位置的指针,该位置接收适配器用于访问分配的缓冲区的逻辑地址。
[in] CacheEnabled
指定是否可以缓存分配的内存。 有关详细信息,请参阅 AllocateCommonBuffer 的 CacheEnabled 参数的说明。
[out] Reserved
当前被视频端口驱动程序忽略;应设置为 NULL。
返回值
如果成功,VideoPortAllocateCommonBuffer 将返回已分配缓冲区的基虚拟地址;否则,如果无法分配缓冲区,则返回 NULL。
注解
当不再需要缓冲区时,视频微型端口驱动程序应通过调用 VideoPortReleaseCommonBuffer 来释放它。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows XP 和更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |