DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA结构(d3dkmddi.h)
DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA 结构描述标准分配类型。
语法
typedef struct _DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA {
D3DKMDT_STANDARDALLOCATION_TYPE StandardAllocationType;
union {
D3DKMDT_SHAREDPRIMARYSURFACEDATA *pCreateSharedPrimarySurfaceData;
D3DKMDT_SHADOWSURFACEDATA *pCreateShadowSurfaceData;
D3DKMDT_STAGINGSURFACEDATA *pCreateStagingSurfaceData;
D3DKMDT_GDISURFACEDATA *pCreateGdiSurfaceData;
D3DKMDT_VIRTUALGPUSURFACEDATA *pCreateVirtualGpuSurfaceData;
D3DKMDT_FENCESTORAGESURFACEDATA *pCreateFenceStorageData;
};
VOID *pAllocationPrivateDriverData;
UINT AllocationPrivateDriverDataSize;
VOID *pResourcePrivateDriverData;
UINT ResourcePrivateDriverDataSize;
UINT PhysicalAdapterIndex;
} DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA;
成员
StandardAllocationType
[in]用于标识要描述的标准分配类型的 D3DKMDT_STANDARDALLOCATION_TYPE类型值。
pCreateSharedPrimarySurfaceData
[in]指向 D3DKMDT_SHAREDPRIMARYSURFACEDATA 结构的指针,如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_SHAREDPRIMARYSURFACE。
pCreateShadowSurfaceData
[in]如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_SHADOWSURFACE,则指向 D3DKMDT_SHADOWSURFACEDATA 结构的指针。
pCreateStagingSurfaceData
[in]如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_STAGINGSURFACE,则指向 D3DKMDT_STAGINGSURFACEDATA 结构的指针。
pCreateGdiSurfaceData
[in]指向 D3DKMDT_GDISURFACEDATA 结构的指针,仅 当 standardAllocationType 指定D3DKMDT_STANDARDALLOCATION_GDISURFACE时,才可用。
此成员从 Windows 7 开始可用。
pCreateVirtualGpuSurfaceData
如果 StandardAllocationTypeD3DKMDT_STANDARDALLOCATION_VIRTUALGPUSURFACE,则指向 D3DKMDT_VIRTUALGPUSURFACEDATA 结构的指针。 从 WDDM 2.1 开始可用。
pCreateFenceStorageData
如果 StandardAllocationTypeD3DKMDT_STANDARDALLOCATION_FENCESTORAGE,则指向 D3DKMDT_FENCESTORAGESURFACEDATA 结构的指针。 从 WDDM 3.2 开始可用。
pAllocationPrivateDriverData
[in/out]指向描述标准分配类型的分配专用数据的块的指针;否则,此成员为 NULL。 显示微型端口驱动程序 (KMD) DxgkDdiGetStandardAllocationDriverData 函数返回的分配专用数据取决于驱动程序 StandardAllocationType中请求的类型。
AllocationPrivateDriverDataSize
[out]pAllocationPrivateDriverData 指向的分配专用数据的大小(以字节为单位)。 如果驱动程序 pAllocationPrivateDriverData 设置为 NULL,驱动程序应将 AllocationPrivateDriverDataSize 设置为驱动程序描述给定标准分配类型所需的缓冲区的大小。
如果驱动程序不对标准分配类型的每个分配使用专用数据,驱动程序可以将 AllocationPrivateDriverDataSize 设置为零。
pResourcePrivateDriverData
[in/out]指向描述标准分配类型的资源专用数据的块的指针;否则,此成员为 NULL。 显示微型端口驱动程序 DxgkDdiGetStandardAllocationDriverData 函数返回的资源专用数据取决于驱动程序 StandardAllocationType中请求的类型。
ResourcePrivateDriverDataSize
[out]pResourcePrivateDriverData 指向的资源专用数据的大小(以字节为单位)。 如果驱动程序 pResourcePrivateDriverData 设置为 NULL,驱动程序应将 ResourcePrivateDriverDataSize 设置为驱动程序描述给定标准分配类型所需的缓冲区的大小。
如果驱动程序未将每个资源的专用数据用于标准分配类型,驱动程序可以将 ResourcePrivateDriverDataSize 设置为零。
PhysicalAdapterIndex
[in]LDA 配置中将驻留存储的物理适配器索引。
言论
标准分配类型 是必须在内核模式下创建的分配,而无需与用户模式显示驱动程序通信。
如果内核模式显示微型端口驱动程序 (KMD) 在 pAllocationPrivateDriverData 和 pResourcePrivateDriverData 成员中返回 NULL,则它应返回 AllocationPrivateDriverDataSize 和 ResourcePrivateDriverDataSize 成员中所需的缓冲区大小。 但是,KMD 不应更改 DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA 包含用于获取所需缓冲区大小的联合中标准分配结构的内容。
尽管 KMD 可以 ResourcePrivateDriverDataSize 或 AllocationPrivateDriverDataSize 设置为零,但它不能同时设置为零。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
标头 | d3dkmddi.h (包括 D3dkmddi.h) |
另请参阅
D3DKMDT_SHAREDPRIMARYSURFACEDATA