структура 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

Указатель на структуру D3DKMDT_SHAREDPRIMARYSURFACEDATA , если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_SHAREDPRIMARYSURFACE.

[in] pCreateShadowSurfaceData

Указатель на структуру D3DKMDT_SHADOWSURFACEDATA , если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_SHADOWSURFACE.

[in] pCreateStagingSurfaceData

Указатель на структуру D3DKMDT_STAGINGSURFACEDATA , если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_STAGINGSURFACE.

[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 значение 0.

PhysicalAdapterIndex

Комментарии

Если драйвер мини-порта отображения возвращает значение NULL в элементах pAllocationPrivateDriverData и pResourcePrivateDriverData , драйвер должен возвращать размеры буферов, необходимых драйверу в элементах AllocationPrivateDriverDataSize и ResourcePrivateDriverDataSize . Однако драйвер не должен изменять содержимое стандартной структуры распределения в объединении, которое содержит DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA, чтобы получить необходимые размеры буферов.

Несмотря на то, что драйвер может задать для ResourcePrivateDriverDataSize или AllocationPrivateDriverDataSize значение 0, драйвер не может задать для обоих этих параметров нулевое значение.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Верхняя часть d3dkmddi.h (включая D3dkmddi.h)

См. также раздел

D3DKMDT_GDISURFACEDATA

D3DKMDT_SHADOWSURFACEDATA

D3DKMDT_SHAREDPRIMARYSURFACEDATA

D3DKMDT_STAGINGSURFACEDATA

D3DKMDT_STANDARDALLOCATION_TYPE

D3DKMDT_VIRTUALGPUSURFACEDATA

DxgkDdiGetStandardAllocationDriverData