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

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

注解

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

驱动程序负责将数据从预先分配的缓冲区复制到映射的次区域。 还原帧缓冲区内容时,反向也是真实的。

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

要求

   
最低受支持的客户端 Windows 10版本 1803 (WDDM 2.4)
Header d3dkmddi.h

另请参阅

DXGKCB_MAPFRAMEBUFFERPOINTER