DXGKARGCB_MAPFRAMEBUFFERPOINTER 结构 (d3dkmddi.h)

DXGKARGCB_MAPFRAMEBUFFERPOINTER 结构包含DXGKCB_MAPFRAMEBUFFERPOINTER回调函数用来映射帧缓冲区指针的参数。

语法

typedef struct _DXGKARGCB_MAPFRAMEBUFFERPOINTER {
  [in]     UINT   PhysicalAdapterIndex;
  [in]     SIZE_T Size;
  [in/out] SIZE_T Offset;
  [out]    PVOID  pBaseAddress;
} DXGKARGCB_MAPFRAMEBUFFERPOINTER;

成员

[in] PhysicalAdapterIndex

物理适配器的索引。

[in] Size

分区对象的映射子区域的大小(以字节为单位)。 大小 必须是PAGE_SIZE的倍数。

[in/out] Offset

输入时,这是部分对象的映射子区域偏移量(以字节为单位)。 偏移量必须是PAGE_SIZE的倍数。 输出时,这是驱动程序应将数据复制到的输出基址的偏移量。

[out] pBaseAddress

指向 section 对象的映射子区域的 CPU 可访问基址指针。 驱动程序必须将输出 Offset 值添加到基址,以获取任何复制操作的目标地址, (pDestinationAddress = pBaseAddress + Offset) 。

注解

如果固定整个帧缓冲区的 section 对象失败,驱动程序必须尝试通过执行较小部分的传输来确保向前进度。 这是通过在初始化期间分配可用于传输硬件内容的小 MDL 或内存块,然后调用 DXGKCB_MAPFRAMEBUFFERPOINTER 以获取指向 section 对象的子区的指针来实现的。

驱动程序负责将数据从预先分配的缓冲区复制到映射的子区域。 还原帧缓冲区内容时也是如此。

有关详细信息,请参阅 基于 IOMMU 的 GPU 隔离

要求

要求
最低受支持的客户端 Windows 10,版本 1803 (WDDM 2.4)
标头 d3dkmddi.h

另请参阅

DXGKCB_MAPFRAMEBUFFERPOINTER