Compartir a través de


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

Cree una lista de comandos y grabe comandos gráficos en ella.

Sintaxis

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

Parámetros

RestoreDeferredContextState

Tipo: BOOL

Marca booleana que determina si el tiempo de ejecución guarda el estado de contexto diferido antes de ejecutar FinishCommandList y lo restaura después. Use TRUE para indicar que el tiempo de ejecución debe guardar y restaurar el estado. Use FALSE para indicar que el tiempo de ejecución no guardará ni restaurará ningún estado. En este caso, el contexto diferido volverá a su estado predeterminado una vez completada la llamada a FinishCommandList . Para obtener información sobre el estado predeterminado, vea ID3D11DeviceContext::ClearState. Normalmente, use FALSE a menos que restaure el estado para que sea casi equivalente al estado que el tiempo de ejecución restauraría si pasó TRUE. Cuando se usa FALSE, puede evitar transiciones de estado innecesarias e ineficaces.

Nota Este parámetro no afecta a la lista de comandos que devuelve la llamada actual a FinishCommandList . Sin embargo, este parámetro afecta a la lista de comandos de la siguiente llamada a FinishCommandList en el mismo contexto diferido.
 

[out, optional] ppCommandList

Tipo: ID3D11CommandList**

Tras la finalización del método, el puntero pasado a un puntero de interfaz ID3D11CommandList se inicializa con la información de lista de comandos grabada. El objeto ID3D11CommandList resultante es inmutable y solo se puede usar con ID3D11DeviceContext::ExecuteCommandList.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si se ejecuta correctamente; de lo contrario, devuelve una de las siguientes opciones:

  • Devuelve DXGI_ERROR_DEVICE_REMOVED si la tarjeta de vídeo se ha quitado físicamente del sistema o se ha producido una actualización de controladores para la tarjeta de vídeo. Si se produce este error, debe destruir y volver a crear el dispositivo.
  • Devuelve DXGI_ERROR_INVALID_CALL si no se puede llamar a FinishCommandList desde el contexto actual. Vea Notas.
  • Devuelve E_OUTOFMEMORY si la aplicación ha agotado la memoria disponible.

Comentarios

Cree una lista de comandos a partir de un contexto diferido y grabe comandos en él llamando a FinishCommandList. Reproduzca una lista de comandos con un contexto inmediato llamando a ID3D11DeviceContext::ExecuteCommandList.

El estado de contexto inmediato se borra antes y después de ejecutar una lista de comandos. Una lista de comandos no tiene ningún concepto de herencia. Cada llamada a FinishCommandList registrará solo el estado establecido desde cualquier llamada anterior a FinishCommandList.

Por ejemplo, el estado de un contexto de dispositivo es su estado de representación o de canalización. Para recuperar el estado del contexto del dispositivo, una aplicación puede llamar a ID3D11DeviceContext::GetData o ID3D11DeviceContext::GetPredication.

Para obtener más información sobre cómo usar FinishCommandList, vea Cómo: Registrar una lista de comandos.

Windows Phone 8: se admite esta API.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d11.h
Library D3d11.lib

Consulte también

ID3D11DeviceContext