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)
标头 d3dkmddi.h

另请参阅

DXGKCB_MAPFRAMEBUFFERPOINTER