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) 在 pAllocationPrivateDriverDatapResourcePrivateDriverData 成员中返回 NULL,则它应返回 AllocationPrivateDriverDataSizeResourcePrivateDriverDataSize 成员中所需的缓冲区大小。 但是,KMD 不应更改 DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA 包含用于获取所需缓冲区大小的联合中标准分配结构的内容。

尽管 KMD 可以 ResourcePrivateDriverDataSizeAllocationPrivateDriverDataSize 设置为零,但它不能同时设置为零。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 d3dkmddi.h (包括 D3dkmddi.h)

另请参阅

D3DKMDT_GDISURFACEDATA

D3DKMDT_SHADOWSURFACEDATA

D3DKMDT_SHAREDPRIMARYSURFACEDATA

D3DKMDT_STAGINGSURFACEDATA

D3DKMDT_STANDARDALLOCATION_TYPE

D3DKMDT_VIRTUALGPUSURFACEDATA

DxgkDdiGetStandardAllocationDriverData