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

指定是否可以缓存分配的内存。 有关详细信息,请参阅 AllocateCommonBufferCacheEnabled 参数的说明。

[out] Reserved

当前被视频端口驱动程序忽略;应设置为 NULL

返回值

如果成功,VideoPortAllocateCommonBuffer 将返回已分配缓冲区的基虚拟地址;否则,如果无法分配缓冲区,则返回 NULL

注解

当不再需要缓冲区时,视频微型端口驱动程序应通过调用 VideoPortReleaseCommonBuffer 来释放它。

要求

要求
最低受支持的客户端 在 Windows XP 和更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 video.h (包括 Video.h)
Library Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

另请参阅

AllocateCommonBuffer

VP_DMA_ADAPTER

VideoPortGetDmaAdapter

VideoPortReleaseCommonBuffer