D3DDDI_ALLOCATIONINFO2结构(d3dukmdt.h)
D3DDDI_ALLOCATIONINFO2 结构描述分配。
语法
typedef struct _D3DDDI_ALLOCATIONINFO2 {
D3DKMT_HANDLE hAllocation;
union {
HANDLE hSection;
const VOID *pSystemMem;
} D3DKMT_ALIGN64;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
union {
struct {
UINT Primary : 1;
UINT Stereo : 1;
UINT OverridePriority : 1;
#if ...
UINT Reserved : 29;
#elif
UINT Reserved : 30;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
} Flags;
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS GpuVirtualAddress;
union {
UINT Priority;
D3DKMT_ALIGN64 ULONG_PTR Unused;
};
#if ...
D3DKMT_ALIGN64 ULONG_PTR Reserved[5];
#else
D3DKMT_ALIGN64 ULONG_PTR Reserved[6];
#endif
} D3DDDI_ALLOCATIONINFO2;
成员
hAllocation
[out]表示分配的内核模式句柄的 D3DKMT_HANDLE 句柄。 此句柄与 Direct3D 运行时的 pfnAllocateCb 函数在 D3DDDICB_ALLOCATE 结构的 hKMResource 成员中返回的内核模式资源句柄(如果为非 NULL)相关联。 用户模式显示驱动程序可以使用此内核模式分配句柄来引用命令缓冲区中的分配。
D3DKMT_ALIGN64
与 hSection 和 pSystemMem的联合。
D3DKMT_ALIGN64.hSection
[in]有效节对象的句柄。 设置 D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection 时,请使用 hSection。
D3DKMT_ALIGN64.pSystemMem
[in]指向预分配的系统内存的指针。 如果未设置 D3DKMT_CREATEALLOCATIONFLAGS::ExistingSection,请使用 pSystemMem。
pPrivateDriverData
[in/out,opt]指向缓冲区的指针,其中包含显示微型端口驱动程序可能需要用于创建分配的可选专用数据。 显示微型端口驱动程序还可以返回缓冲区中的数据。 当缓冲区的内容传递到显示微型端口驱动程序时,内容必须采用显示微型端口驱动程序可以处理的格式。
PrivateDriverDataSize
[in]私有数据的大小(以字节为单位)。
VidPnSourceId
[in]如果分配用于主图面,则视频演示网络 (VidPN) 拓扑路径中视频演示源的从零开始的 VidPN 标识号。 驱动程序应仅针对主要分配类型设置 VidPnSourceId,而不适用于任何其他类型的分配。 如果驱动程序在调用 pfnAllocateCb 函数时为任何其他分配类型设置 VidPnSourceId,pfnAllocateCb 返回D3DDDI_ID_NOTAPPLICABLE。
当 DirectX 图形内核子系统启动为共享主图面的分配创建时,显示微型端口驱动程序可以从
Flags
[in]一个包含结构或标识分配类型的 32 位值的联合。
Flags.Primary
[in]一个 UINT,指定分配是否是桌面的一部分。 CPU 可隐式访问此类分配。 主分配可以在创建时固定,也可以在创建时未固定。
设置此成员等效于设置 32 位 值 成员的第一位(0x00000001)。
Flags.Stereo
[in]从 Windows 8 开始支持 (WDDM 1.2)。 一个 UINT,指定分配是否为立体声主分配。 仅当设置 主 成员时,才能设置 立体声 成员。
设置此成员等效于设置 32 位 值 成员的第二位(0x00000002)。
Flags.OverridePriority
[in]从 Windows 10 版本 1703(WDDM 2.2)开始支持。 覆盖由用户模式图形驱动程序建立的优先级。
Flags.Reserved
[in]此成员是保留的,应设置为零。
Flags.Value
[in]一个标识分配类型的 32 位值。
GpuVirtualAddress
[out]创建的分配的 GPU 虚拟地址。
Priority
[in]分配的优先级。
Unused
闲置。
Reserved[5]
Reserved[6]
言论
当用户模式显示驱动程序在
根据首选项分配分配;否则,分配默认为支持的写入段集,并且写入段集中的所有指定段都必须能够访问 CPU。
显示微型端口驱动程序无法在 标志DXGK_ALLOCATIONINFO成员中设置以下位字段标志:
PermanentSysMem
缓存
保护
ExistingSysMem
ExistingKernelSysMem
D3DDDI_ID_NOTAPPLICABLE常量在 D3dukmdt.h中定义。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 7 |
标头 | d3dukmdt.h |