D3DDDI_RESERVEGPUVIRTUALADDRESS结构(d3dukmdt.h)

用户模式图形驱动程序将 D3DDDI_RESERVEGPUVIRTUALADDRESS 传递给 D3D 运行时的 pfnReserveGpuVirtualAddressCb 回调,以在当前进程的 GPU 虚拟地址空间中保留地址范围。

语法

typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
  union {
    D3DKMT_HANDLE hPagingQueue;
    D3DKMT_HANDLE hAdapter;
  };
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T          Size;
  union {
    D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
    UINT                                     Reserved0;
  };
  union {
    D3DKMT_ALIGN64 UINT64 DriverProtection;
    D3DKMT_ALIGN64 UINT64 Reserved1;
  };
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
  union {
    D3DKMT_ALIGN64 UINT64 PagingFenceValue;
    D3DKMT_ALIGN64 UINT64 Reserved2;
  };
} D3DDDI_RESERVEGPUVIRTUALADDRESS;

成员

hPagingQueue

此成员已过时。 不要使用它。

hAdapter

[in]DirectX 图形适配器句柄或零(0)。 如果 UMD hAdapter 设置为 0,则 D3D 运行时会在调用 D3DKMTReserveGpuVirtualAddress 内核接口之前将 hAdapter 设置为内核的D3DKMT_HANDLE。

BaseAddress

[in/optional]在 GPU 虚拟地址空间中保留的字节数。 BaseAddress 必须与 64KB 边界对齐。

如果 BaseAddress 为非 NULL,则视频内存管理器会尝试将此地址用作保留范围的基址。 如果从 BaseAddressBaseAddress+Size 的范围不是免费的,则调用将失败。 BaseAddress 为非 NULL 时,将忽略 minimumAddressMaximumAddress

如果指定 NULL,则视频内存管理器将选取指定 MinimumAddressMaximumAddress中分配的基址。

MinimumAddress

[in/optional]要考虑保留范围的最小 GPU 虚拟地址。 MinimumAddress 以字节为单位,并且必须与 64KB 边界对齐。 当 baseAddress 为非 NULL 时,将忽略它。

MaximumAddress

[in/optional]要考虑保留范围的最大 GPU 虚拟地址。 视频内存管理器保证 BaseAddress+Size<= MaximumAddress。 如果 MaximumAddress 设置为 NULL,则视频内存管理器将不适用任何限制。

MaximumAddress 以字节为单位,并且必须与 64KB 边界对齐。 当 baseAddress 为非 NULL 时,将忽略它。

Size

[in]要保留的范围的大小(以字节为单位)。 必须是 64KB 的倍数。

ReservationType

此成员已过时。 不要使用它。

Reserved0

此成员是保留的,应设置为零。

DriverProtection

此成员已过时。 不要使用它。

Reserved1

此成员是保留的,应设置为零。

VirtualAddress

[out]保留的虚拟地址。

PagingFenceValue

此成员已过时。 不要使用它。

Reserved2

此成员是保留的,应设置为零。

要求

要求 价值
最低支持的客户端 Windows 10
支持的最低服务器 Windows Server 2016
标头 d3dukmdt.h (包括 D3dumddi.h, D3dkmddi.h)

另请参阅

pfnReserveGpuVirtualAddressCb