Metodo IDXGIFactory2::CreateSwapChainForHwnd (dxgi1_2.h)

Crea una catena di scambio associata a un handle HWND nella finestra di output per la catena di scambio.

Sintassi

HRESULT CreateSwapChainForHwnd(
  [in]           IUnknown                              *pDevice,
  [in]           HWND                                  hWnd,
  [in]           const DXGI_SWAP_CHAIN_DESC1           *pDesc,
  [in, optional] const DXGI_SWAP_CHAIN_FULLSCREEN_DESC *pFullscreenDesc,
  [in, optional] IDXGIOutput                           *pRestrictToOutput,
  [out]          IDXGISwapChain1                       **ppSwapChain
);

Parametri

[in] pDevice

Per Direct3D 11 e versioni precedenti di Direct3D, si tratta di un puntatore al dispositivo Direct3D per la catena di scambio. Per Direct3D 12 si tratta di un puntatore a una coda di comandi diretta (fare riferimento a ID3D12CommandQueue). Questo parametro non può essere NULL.

[in] hWnd

Handle HWND associato alla catena di scambio creata da CreateSwapChainForHwnd . Questo parametro non può essere NULL.

[in] pDesc

Puntatore a una struttura DXGI_SWAP_CHAIN_DESC1 per la descrizione della catena di scambio. Questo parametro non può essere NULL.

[in, optional] pFullscreenDesc

Puntatore a una struttura DXGI_SWAP_CHAIN_FULLSCREEN_DESC per la descrizione di una catena di scambio a schermo intero. Facoltativamente, è possibile impostare questo parametro per creare una catena di scambio a schermo intero. Impostarlo su NULL per creare una catena di scambio finestrata.

[in, optional] pRestrictToOutput

Puntatore all'interfaccia IDXGIOutput per l'output a cui limitare il contenuto. È anche necessario passare il flag di DXGI_PRESENT_RESTRICT_TO_OUTPUT in un IDXGISwapChain1::P resent1 per forzare la visualizzazione del contenuto in un altro output. Se si vuole limitare il contenuto a un output diverso, è necessario creare una nuova catena di scambio. Tuttavia, è possibile limitare in modo condizionale il contenuto in base al flag di DXGI_PRESENT_RESTRICT_TO_OUTPUT .

Impostare questo parametro su NULL se non si vuole limitare il contenuto a una destinazione di output.

[out] ppSwapChain

Puntatore a una variabile che riceve un puntatore all'interfaccia IDXGISwapChain1 per la catena di scambio creata Da CreateSwapChainForHwnd .

Valore restituito

CreateSwapChainForHwnd restituisce:

  • S_OK se ha creato correttamente una catena di scambio.
  • E_OUTOFMEMORY se la memoria non è disponibile per completare l'operazione.
  • DXGI_ERROR_INVALID_CALL se l'applicazione chiamante ha fornito dati non validi, ad esempio se pDesc o ppSwapChain è NULL o i membri dati pDesc non sono validi.
  • Eventualmente altri codici di errore descritti nell'argomento DXGI_ERROR definiti dal tipo di dispositivo passato a pDevice.

Platform Update per Windows 7: DXGI_SCALING_NONE non è supportato in Windows 7 o Windows Server 2008 R2 con Platform Update per Windows 7 installato e causa la restituzione di DXGI_ERROR_INVALID_CALL quando viene chiamato CreateSwapChainForHwnd . Per altre informazioni sull'aggiornamento della piattaforma per Windows 7, vedere Platform Update per Windows 7.

Commenti

Nota Non usare questo metodo nelle app di Windows Store. Usare invece IDXGIFactory2::CreateSwapChainForCoreWindow.
 
Se si specifica la larghezza, l'altezza o entrambi (membri Width e Height di DXGI_SWAP_CHAIN_DESC1 a cui pDesc punta) della catena di scambio come zero, il runtime ottiene le dimensioni dalla finestra di output specificata dal parametro hWnd .

Successivamente è possibile chiamare il metodo IDXGISwapChain1::GetDesc1 per recuperare il valore di larghezza o altezza assegnato.

Poiché è possibile associare una sola catena di scambio di modelli di presentazione capovolto alla volta con un HWND, il criterio Microsoft Direct3D 11 di rinviare la distruzione degli oggetti può causare problemi se si tenta di distruggere una catena di scambio di modelli di presentazione capovolgimento e sostituirlo con un'altra catena di scambio. Per altre informazioni su questa situazione, vedere Problemi di distruzione posticipati con catene di scambio di presentazioni flip.

Per informazioni su come scegliere un formato per il buffer indietro della catena di scambio, vedere Conversione dei dati per lo spazio dei colori.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 e Platform Update per Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione dxgi1_2.h
Libreria Dxgi.lib

Vedi anche

Per prestazioni ottimali, usare il modello flip DXGI

IDXGIFactory2