Поделиться через


структура D3DDDICB_ALLOCATE (d3dumddi.h)

Структура D3DDDICB_ALLOCATE содержит сведения о выделении памяти.

Синтаксис

typedef struct _D3DDDICB_ALLOCATE {
  [in]  const VOID            *pPrivateDriverData;
  [in]  UINT                  PrivateDriverDataSize;
  [in]  HANDLE                hResource;
  [out] D3DKMT_HANDLE         hKMResource;
  [in]  UINT                  NumAllocations;
  union {
    [in]  D3DDDI_ALLOCATIONINFO  *pAllocationInfo;
    [in]  D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
  };
  [in]  D3DDDI_ALLOCATIONINFO *pAllocationInfo;
} D3DDDICB_ALLOCATE;

Члены

[in] pPrivateDriverData

Указатель на частные данные, который передается драйверу мини-порта дисплея. Эти данные являются данными для каждого ресурса, а не для каждого выделения. Если выделения присоединены к существующему ресурсу, текущие данные должны перезаписать прежние данные.

[in] PrivateDriverDataSize

Размер (в байтах) частных данных, на которые указывает pPrivateDriverData.

[in] hResource

Дескриптор ресурса, связанного с выделениями.

Когда драйвер отображения пользовательского режима вызывает функцию pfnAllocateCb , драйвер должен назначить значение, полученное от элемента hResourceструктуры D3DDDIARG_CREATERESOURCE в вызове CreateResource, или параметр hRTResource в вызове CreateResource(D3D10) или CreateResource(D3D11). Он должен присвоить значение , чтобы связать выделения с ресурсом, или присвоить значение NULL , чтобы связать выделения с устройством. Драйвер должен назначить значение, отличное от NULL , для выделений, созданных в ответ на общие ресурсы. Общие ресурсы могут быть результатом вызовов CreateResource с флагом битового поля SharedResource , установленным в элементе Flags D3DDDIARG_CREATERESOURCE. Они также могут быть результатом вызовов CreateResource(D3D10) или CreateResource(D3D11) со значением D3D10_DDI_RESOURCE_MISC_SHARED, заданным в элементе MiscFlagsD3D10DDIARG_CREATERESOURCE или D3D11DDIARG_CREATERESOURCE.

Среда выполнения Microsoft Direct3D должна использовать этот дескриптор в вызовах драйвера для идентификации ресурса.

[out] hKMResource

Тип данных D3DKMT_HANDLE, представляющий дескриптор режима ядра для ресурса, связанного с выделениями.

Среда выполнения Direct3D создает и возвращает дескриптор ресурса в режиме ядра, только если драйвер отображения пользовательского режима задает элемент hResource D3DDDICB_ALLOCATE дескриптор ресурса среды выполнения пользовательского режима, полученный от элемента hResourceструктуры D3DDDIARG_CREATERESOURCE . Этот дескриптор получен в вызове CreateResource или из параметра hResource в вызове CreateResource(D3D10) или CreateResource(D3D11).

Среда выполнения Direct3D создает уникальный дескриптор и передает его обратно драйверу отображения в пользовательском режиме. Драйвер отображения пользовательского режима может вставить дескриптор ресурса режима ядра в поток команд для последующего использования драйвером мини-порта дисплея.

[in] NumAllocations

Количество элементов в массиве в pAllocationInfo, представляющее количество выделенных выделений.

[in] pAllocationInfo

Массив D3DDDI_ALLOCATIONINFO структур, описывающих выделяемые выделения.

[in] Массив D3DDDI_ALLOCATIONINFO структур, описывающих выделяемые выделения.

[in] pAllocationInfo2

Этот элемент зарезервирован и должен иметь нулевое значение.

Этот элемент доступен начиная с Windows 7.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть d3dumddi.h (включая D3dumddi.h)

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

CreateResource

CreateResource(D3D10)

CreateResource(D3D11)

D3D10DDIARG_CREATERESOURCE

D3D11DDIARG_CREATERESOURCE

D3DDDIARG_CREATERESOURCE

D3DDDI_ALLOCATIONINFO

pfnAllocateCb