DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA 结构 (d3dkmddi.h)

DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA 结构描述标准分配类型。

语法

typedef struct _DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA {
  [in]     D3DKMDT_STANDARDALLOCATION_TYPE StandardAllocationType;
  union {
    [in]     D3DKMDT_SHAREDPRIMARYSURFACEDATA *pCreateSharedPrimarySurfaceData;
    [in]     D3DKMDT_SHADOWSURFACEDATA        *pCreateShadowSurfaceData;
    [in]     D3DKMDT_STAGINGSURFACEDATA       *pCreateStagingSurfaceData;
    [in]     D3DKMDT_GDISURFACEDATA           *pCreateGdiSurfaceData;
             D3DKMDT_VIRTUALGPUSURFACEDATA    *pCreateVirtualGpuSurfaceData;
  };
  [in/out] VOID                            *pAllocationPrivateDriverData;
  [out]    UINT                            AllocationPrivateDriverDataSize;
  [in/out] VOID                            *pResourcePrivateDriverData;
  [out]    UINT                            ResourcePrivateDriverDataSize;
           UINT                            PhysicalAdapterIndex;
} DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA;

成员

[in] StandardAllocationType

标识要描述的标准分配类型的 D3DKMDT_STANDARDALLOCATION_TYPE类型值。

[in] pCreateSharedPrimarySurfaceData

如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_SHAREDPRIMARYSURFACE,则为指向 D3DKMDT_SHAREDPRIMARYSURFACEDATA 结构的指针。

[in] pCreateShadowSurfaceData

如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_SHADOWSURFACE,则为指向 D3DKMDT_SHADOWSURFACEDATA 结构的指针。

[in] pCreateStagingSurfaceData

如果 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_STAGINGSURFACE,则为指向 D3DKMDT_STAGINGSURFACEDATA 结构的指针。

[in] pCreateGdiSurfaceData

指向 D3DKMDT_GDISURFACEDATA 结构的指针,仅在 StandardAllocationType 指定D3DKMDT_STANDARDALLOCATION_GDISURFACE时才可用。

此成员从 Windows 7 开始可用。

pCreateVirtualGpuSurfaceData

指向D3DKMDT_VIRTUALGPUSURFACEDATA结构的指针(如果为 StandardAllocationType D3DKMDT_STANDARDALLOCATION_VIRTUALGPUSURFACE)。 从 WDDM 2.1 开始可用。

[in/out] pAllocationPrivateDriverData

指向描述标准分配类型的分配私有数据块的指针;否则,此成员为 NULL。 显示微型端口驱动程序的 DxgkDdiGetStandardAllocationDriverData 函数返回的分配私有数据取决于驱动程序在 StandardAllocationType 中请求的类型。

[out] AllocationPrivateDriverDataSize

pAllocationPrivateDriverData 指向的分配专用数据的大小(以字节为单位)。 如果驱动程序将 pAllocationPrivateDriverData 设置为 NULL,则驱动程序应将 AllocationPrivateDriverDataSize 设置为驱动程序描述给定标准分配类型所需的缓冲区大小。

如果驱动程序不对标准分配类型的每个分配使用专用数据,驱动程序可以将 AllocationPrivateDriverDataSize 设置为零。

[in/out] pResourcePrivateDriverData

指向描述标准分配类型的资源专用数据块的指针;否则,此成员为 NULL。 显示微型端口驱动程序的 DxgkDdiGetStandardAllocationDriverData 函数返回的资源专用数据取决于驱动程序在 StandardAllocationType 中请求的类型。

[out] ResourcePrivateDriverDataSize

pResourcePrivateDriverData 指向的资源专用数据的大小(以字节为单位)。 如果驱动程序将 pResourcePrivateDriverData 设置为 NULL,则驱动程序应将 ResourcePrivateDriverDataSize 设置为驱动程序描述给定标准分配类型所需的缓冲区大小。

如果驱动程序不对标准分配类型的每个资源使用专用数据,则驱动程序可以将 ResourcePrivateDriverDataSize 设置为零。

PhysicalAdapterIndex

注解

如果显示微型端口驱动程序在 pAllocationPrivateDriverDatapResourcePrivateDriverData 成员中返回 NULL,则驱动程序应在 AllocationPrivateDriverDataSizeResourcePrivateDriverDataSize 成员中返回驱动程序所需的缓冲区大小。 但是,驱动程序不应更改DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA包含的联合中的标准分配结构的内容,以获取所需的缓冲区大小。

尽管驱动程序可以将 ResourcePrivateDriverDataSizeAllocationPrivateDriverDataSize 设置为零,但驱动程序不能同时将两者都设置为零。

要求

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

另请参阅

D3DKMDT_GDISURFACEDATA

D3DKMDT_SHADOWSURFACEDATA

D3DKMDT_SHAREDPRIMARYSURFACEDATA

D3DKMDT_STAGINGSURFACEDATA

D3DKMDT_STANDARDALLOCATION_TYPE

D3DKMDT_VIRTUALGPUSURFACEDATA

DxgkDdiGetStandardAllocationDriverData