структура 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] Указатель на структуру D3DKMDT_SHADOWSURFACEDATA, если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_SHADOWSURFACE.
pCreateStagingSurfaceData
[in] Указатель на структуру D3DKMDT_STAGINGSURFACEDATA, если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_STAGINGSURFACE.
pCreateGdiSurfaceData
[in] Указатель на структуру D3DKMDT_GDISURFACEDATA доступен только в том случае, если StandardAllocationType указывает D3DKMDT_STANDARDALLOCATION_GDISURFACE.
Этот член доступен начиная с Windows 7.
pCreateVirtualGpuSurfaceData
Указатель на структуру D3DKMDT_VIRTUALGPUSURFACEDATA, если StandardAllocationTypeD3DKMDT_STANDARDALLOCATION_VIRTUALGPUSURFACE. Доступно начиная с версии WDDM 2.1.
pCreateFenceStorageData
Указатель на структуру D3DKMDT_FENCESTORAGESURFACEDATA, если StandardAllocationTypeD3DKMDT_STANDARDALLOCATION_FENCESTORAGE. Доступно начиная с версии 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] Размер в байтах частных данных ресурса, на которые
Если драйвер не использует частные данные для каждого ресурса для стандартных типов выделения, драйвер может задать для ResourcePrivateDriverDataSize равным нулю.
PhysicalAdapterIndex
[in] Индекс физического адаптера в конфигурации LDA, в которой будет находиться хранилище.
Замечания
стандартные типы выделения — это выделения, которые должны быть созданы в режиме ядра без взаимодействия с драйвером отображения в пользовательском режиме.
Если в режиме ядра мини-порт (KMD) возвращается значение NULL в pAllocationPrivateDriverData и pResourcePrivateDriverData, он должен возвращать размеры буферов, необходимых в элементе AllocationPrivateDriverDataSize и ResourcePrivateDriverDataSize. Однако KMD не должен изменять содержимое стандартной структуры выделения в союзе, которая DXGKARG_GETSTANDARDALLOCATIONDRIVERDATA содержит для получения необходимых размеров буферов.
Хотя KMD может задать ResourcePrivateDriverDataSize или AllocationPrivateDriverDataSize равным нулю, он не может присвоить нулю оба значения.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
заголовка | d3dkmddi.h (include D3dkmddi.h) |
См. также
D3DKMDT_SHAREDPRIMARYSURFACEDATA