D3DDDI_RESERVEGPUVIRTUALADDRESS 结构 (d3dukmdt.h)

D3DDDI_RESERVEGPUVIRTUALADDRESSpfnReserveGpuVirtualAddressCb 结合使用,以在图形处理单元 (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;
  };
  [out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
  union {
          D3DKMT_ALIGN64 UINT64 PagingFenceValue;
          D3DKMT_ALIGN64 UINT64 Reserved2;
  };
} D3DDDI_RESERVEGPUVIRTUALADDRESS;

成员

hPagingQueue

要同步操作的分页队列。

hAdapter

DirectX 图形适配器句柄。

BaseAddress

(可选) 如果 不是 NULL,则视频内存管理器将尝试将此地址用作保留范围的基址。 如果从 BaseAddressBaseAddress+Size 的范围不可用,则调用将失败。 当此参数 为非 NULL 时, 将忽略 MinimumAddressMaximumAddress

BaseAddress 以字节为单位,必须与 64KB 边界对齐。

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

MinimumAddress

(可选) 指定要为保留范围考虑的最小 GPU 虚拟地址。

MinimumAddress 以字节为单位,必须与 64KB 边界对齐。

当 BaseAddress != NULL 时,将忽略此参数。

MaximumAddress

(可选) 指定要为保留范围考虑的最大 GPU 虚拟地址。 视频内存管理器将保证 BaseAddress+Size<= MaximumAddress。 如果此值设置为 NULL,则视频内存管理器不会应用任何限制。

MaximumAddress 以字节为单位,必须与 64KB 边界对齐。

当 BaseAddress != NULL 时,将忽略此参数。

Size

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

ReservationType

指定虚拟地址预留类型。

Reserved0

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

DriverProtection

指定特定于驱动程序的保护

Reserved1

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

[out] VirtualAddress

保留的虚拟地址。

PagingFenceValue

同步的分页围栏标识符

Reserved2

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

要求

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

另请参阅

pfnReserveGpuVirtualAddressCb