Condividi tramite


Metodo ID3D11DeviceContext::FinishCommandList (d3d11.h)

Creare un elenco di comandi e registrare i comandi grafici.

Sintassi

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

Parametri

RestoreDeferredContextState

Tipo: BOOL

Flag booleano che determina se il runtime salva lo stato del contesto posticipato prima di eseguire FinishCommandList e lo ripristina in seguito. Usare TRUE per indicare che il runtime deve salvare e ripristinare lo stato. Usare FALSE per indicare che il runtime non salverà o ripristinerà alcuno stato. In questo caso, il contesto posticipato tornerà allo stato predefinito dopo il completamento della chiamata a FinishCommandList . Per informazioni sullo stato predefinito, vedere ID3D11DeviceContext::ClearState. In genere, usare FALSE a meno che non si ripristini lo stato in modo che sia quasi equivalente allo stato in cui il runtime verrebbe ripristinato se è stato passato TRUE. Quando si usa FALSE, è possibile evitare transizioni di stato non necessarie e inefficienti.

Nota Questo parametro non influisce sull'elenco di comandi restituito dalla chiamata corrente a FinishCommandList . Tuttavia, questo parametro influisce sull'elenco di comandi della chiamata successiva a FinishCommandList nello stesso contesto posticipato.
 

[out, optional] ppCommandList

Tipo: ID3D11CommandList**

Al termine del metodo, il puntatore passato a un puntatore all'interfaccia ID3D11CommandList viene inizializzato con le informazioni dell'elenco dei comandi registrate. L'oggetto ID3D11CommandList risultante non è modificabile e può essere usato solo con ID3D11DeviceContext::ExecuteCommandList.

Valore restituito

Tipo: HRESULT

Restituisce S_OK in caso di esito positivo; in caso contrario, restituisce uno dei valori seguenti:

  • Restituisce DXGI_ERROR_DEVICE_REMOVED se la scheda video è stata rimossa fisicamente dal sistema o se si è verificato un aggiornamento del driver per la scheda video. Se si verifica questo errore, è necessario eliminare e ricreare il dispositivo.
  • Restituisce DXGI_ERROR_INVALID_CALL se FinishCommandList non può essere chiamato dal contesto corrente. Vedere la sezione Osservazioni.
  • Restituisce E_OUTOFMEMORY se l'applicazione ha esaurito la memoria disponibile.

Commenti

Creare un elenco di comandi da un contesto posticipato e registrare comandi in esso chiamando FinishCommandList. Riprodurre un elenco di comandi con un contesto immediato chiamando ID3D11DeviceContext::ExecuteCommandList.

Lo stato del contesto immediato viene cancellato prima e dopo l'esecuzione di un elenco di comandi. Un elenco di comandi non ha alcun concetto di ereditarietà. Ogni chiamata a FinishCommandList registrerà solo il set di stati poiché qualsiasi chiamata precedente a FinishCommandList.

Ad esempio, lo stato di un contesto di dispositivo è lo stato di rendering o la pipeline. Per recuperare lo stato del contesto del dispositivo, un'applicazione può chiamare ID3D11DeviceContext::GetData o ID3D11DeviceContext::GetPredication.

Per altre informazioni su come usare FinishCommandList, vedere Procedura: Registrare un elenco di comandi.

Windows Phone 8: questa API è supportata.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11.h
Libreria D3d11.lib

Vedi anche

ID3D11DeviceContext