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.
[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 |