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


Метод ID3D12Device::CreateCommandAllocator (d3d12.h)

Создает объект распределителя команд.

Синтаксис

HRESULT CreateCommandAllocator(
  [in]  D3D12_COMMAND_LIST_TYPE type,
        REFIID                  riid,
  [out] void                    **ppCommandAllocator
);

Параметры

[in] type

Тип: D3D12_COMMAND_LIST_TYPE

Значение типа D3D12_COMMAND_LIST_TYPE, указывающее тип создаваемого распределителя команд. Тип распределителя команд может быть типом, который записывает прямые списки команд или пакеты.

riid

Тип: REFIID

Глобальный уникальный идентификатор (GUID) для интерфейса распределителя команд (ID3D12CommandAllocator). REFIID или GUID интерфейса для распределителя команд можно получить с помощью макроса __uuidof(). Например, __uuidof(ID3D12CommandAllocator) получит GUID интерфейса в распределителе команд.

[out] ppCommandAllocator

Тип: void**

Указатель на блок памяти, который получает указатель на интерфейс ID3D12CommandAllocator для распределителя команд.

Возвращаемое значение

Тип: HRESULT

Этот метод возвращает E_OUTOFMEMORY , если недостаточно памяти для создания распределителя команд. Другие возможные возвращаемые значения см. в разделе Коды возврата Direct3D 12 .

Комментарии

Устройство создает списки команд из распределителя команд.

Примеры

В примере D3D12Bundles используется ID3D12Device::CreateCommandAllocator следующим образом:

ThrowIfFailed(pDevice->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT, IID_PPV_ARGS(&m_commandAllocator)));
ThrowIfFailed(pDevice->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_BUNDLE, IID_PPV_ARGS(&m_bundleAllocator)));

См. пример кода в справочнике по D3D12.

Требования

Требование Значение
Целевая платформа Windows
Header d3d12.h
Библиотека D3D12.lib
DLL D3D12.dll

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

ID3D12Device