Compartilhar via


Método ID3D11DeviceContext::FinishCommandList (d3d11.h)

Crie uma lista de comandos e registre comandos gráficos nela.

Sintaxe

HRESULT FinishCommandList(
                  BOOL              RestoreDeferredContextState,
  [out, optional] ID3D11CommandList **ppCommandList
);

Parâmetros

RestoreDeferredContextState

Tipo: BOOL

Um sinalizador booliano que determina se o runtime salva o estado de contexto adiado antes de executar FinishCommandList e restaurá-lo posteriormente. Use TRUE para indicar que o runtime precisa salvar e restaurar o estado. Use FALSE para indicar que o runtime não salvará nem restaurará nenhum estado. Nesse caso, o contexto adiado retornará ao estado padrão após a conclusão da chamada para FinishCommandList . Para obter informações sobre o estado padrão, consulte ID3D11DeviceContext::ClearState. Normalmente, use FALSE , a menos que você restaure o estado para ser quase equivalente ao estado que o runtime restauraria se você passasse TRUE. Ao usar FALSE, você pode evitar transições de estado desnecessárias e ineficientes.

Nota Esse parâmetro não afeta a lista de comandos que a chamada atual para FinishCommandList retorna. No entanto, esse parâmetro afeta a lista de comandos da próxima chamada para FinishCommandList no mesmo contexto adiado.
 

[out, optional] ppCommandList

Tipo: ID3D11CommandList**

Após a conclusão do método, o ponteiro passado para um ponteiro de interface ID3D11CommandList é inicializado com as informações da lista de comandos registradas. O objeto ID3D11CommandList resultante é imutável e só pode ser usado com ID3D11DeviceContext::ExecuteCommandList.

Retornar valor

Tipo: HRESULT

Retorna S_OK se tiver êxito; caso contrário, retorna um dos seguintes:

  • Retorna DXGI_ERROR_DEVICE_REMOVED se o vídeo cartão foi fisicamente removido do sistema ou ocorreu uma atualização do driver para o vídeo cartão. Se esse erro ocorrer, você deverá destruir e recriar o dispositivo.
  • Retorna DXGI_ERROR_INVALID_CALL se FinishCommandList não puder ser chamado do contexto atual. Consulte Observações.
  • Retorna E_OUTOFMEMORY se o aplicativo tiver esgotado a memória disponível.

Comentários

Crie uma lista de comandos com base em um contexto adiado e registre comandos nele chamando FinishCommandList. Reproduza uma lista de comandos com um contexto imediato chamando ID3D11DeviceContext::ExecuteCommandList.

O estado de contexto imediato é limpo antes e depois que uma lista de comandos é executada. Uma lista de comandos não tem nenhum conceito de herança. Cada chamada para FinishCommandList registrará apenas o estado definido desde qualquer chamada anterior para FinishCommandList.

Por exemplo, o estado de um contexto de dispositivo é seu estado de renderização ou estado de pipeline. Para recuperar o estado de contexto do dispositivo, um aplicativo pode chamar ID3D11DeviceContext::GetData ou ID3D11DeviceContext::GetPredication.

Para obter mais informações sobre como usar FinishCommandList, consulte Como registrar uma lista de comandos.

Windows Phone 8: há suporte para essa API.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho d3d11.h
Biblioteca D3d11.lib

Confira também

ID3D11DeviceContext