Compartir a través de


Método ID3D12Device::CreateCommandAllocator (d3d12.h)

Crea un objeto de asignador de comandos.

Sintaxis

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

Parámetros

[in] type

Tipo: D3D12_COMMAND_LIST_TYPE

Valor con tipo D3D12_COMMAND_LIST_TYPE que especifica el tipo de asignador de comandos que se va a crear. El tipo de asignador de comandos puede ser el tipo que registra listas de comandos directos o agrupaciones.

riid

Tipo: REFIID

Identificador único global (GUID) de la interfaz del asignador de comandos (ID3D12CommandAllocator). El REFIID, o GUID, de la interfaz al asignador de comandos se puede obtener mediante la macro __uuidof(). Por ejemplo, __uuidof(ID3D12CommandAllocator) obtendrá el GUID de la interfaz a un asignador de comandos.

[out] ppCommandAllocator

Tipo: void**

Puntero a un bloque de memoria que recibe un puntero a la interfaz ID3D12CommandAllocator para el asignador de comandos.

Valor devuelto

Tipo: HRESULT

Este método devuelve E_OUTOFMEMORY si no hay memoria suficiente para crear el asignador de comandos. Consulte Códigos de retorno de Direct3D 12 para ver otros valores devueltos posibles.

Comentarios

El dispositivo crea listas de comandos desde el asignador de comandos.

Ejemplos

El ejemplo D3D12Bundles usa ID3D12Device::CreateCommandAllocator de la siguiente manera:

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)));

Consulte el código de ejemplo en la referencia D3D12.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d12.h
Library D3D12.lib
Archivo DLL D3D12.dll

Consulte también

ID3D12Device