D3DDDI_RESERVEGPUVIRTUALADDRESS 结构 (d3dukmdt.h)
D3DDDI_RESERVEGPUVIRTUALADDRESS 与 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;
};
[out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
union {
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
D3DKMT_ALIGN64 UINT64 Reserved2;
};
} D3DDDI_RESERVEGPUVIRTUALADDRESS;
成员
hPagingQueue
要同步操作的分页队列。
hAdapter
DirectX 图形适配器句柄。
BaseAddress
(可选) 如果 不是 NULL,则视频内存管理器将尝试将此地址用作保留范围的基址。 如果从 BaseAddress 到 BaseAddress+Size 的范围不可用,则调用将失败。 当此参数 为非 NULL 时, 将忽略 MinimumAddress 和 MaximumAddress 。
BaseAddress 以字节为单位,必须与 64KB 边界对齐。
如果指定 了 NULL ,则视频内存管理器将在指定的 MinimumAddress 和 MaximumAddress 中选取分配的基址。
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) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈