IDXGIFactory2::CreateSwapChainForHwnd 方法 (dxgi1_2.h)
建立與 HWND 句柄相關聯的交換鏈結至交換鏈結的輸出視窗。
語法
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
);
參數
[in] pDevice
對於 Direct3D 11 和舊版 Direct3D,這是交換鏈結之 Direct3D 裝置的指標。 針對 Direct3D 12,這是直接命令佇列的指標, (參考 ID3D12CommandQueue) 。 此參數不可為 NULL。
[in] hWnd
與 CreateSwapChainForHwnd 所建立之交換鏈結相關聯的 HWND 句柄。 此參數不可為 NULL。
[in] pDesc
交換鏈結描述 之DXGI_SWAP_CHAIN_DESC1 結構的指標。 此參數不可為 NULL。
[in, optional] pFullscreenDesc
全螢幕交換鏈結描述之 DXGI_SWAP_CHAIN_FULLSCREEN_DESC 結構的指標。 您可以選擇性地設定此參數來建立全螢幕交換鏈結。 將它設定為 NULL ,以建立視窗式交換鏈結。
[in, optional] pRestrictToOutput
輸出要限制內容的 IDXGIOutput 介面指標。 您也必須在IDXGISwapChain1::P resent1 呼叫中傳遞DXGI_PRESENT_RESTRICT_TO_OUTPUT旗標,以強制內容出現在任何其他輸出上。 如果您想要將內容限制為不同的輸出,您必須建立新的交換鏈結。 不過,您可以根據 DXGI_PRESENT_RESTRICT_TO_OUTPUT 旗標,有條件地限制內容。
如果您不想將內容限制為輸出目標,請將此參數設定為 NULL 。
[out] ppSwapChain
變數的指標,會接收 CreateSwapChainForHwnd 所建立之交換鏈結之 IDXGISwapChain1 介面的指標。
傳回值
CreateSwapChainForHwnd 會傳回:
- 如果已成功建立交換鏈結,S_OK。
- 如果記憶體無法完成作業,E_OUTOFMEMORY。
- 如果 呼叫的應用程式提供無效的數據,例如,如果 pDesc 或 ppSwapChain 為 NULL,或 pDesc 資料成員無效,則DXGI_ERROR_INVALID_CALL。
- 可能是 DXGI_ERROR主題中所述 的其他錯誤碼,這些錯誤碼是由您傳遞至 pDevice 的裝置類型所定義。
Windows 7 的平臺更新: 在 Windows 7 或 Windows Server 2008 R2 上安裝平臺 更新 時不支援 windows 7:DXGI_SCALING_NONE,並導致 呼叫時,CreateSwapChainForHwnd 傳回DXGI_ERROR_INVALID_CALL。 如需 Windows 7 平臺更新的詳細資訊,請參閱 適用於 Windows 7 的平臺更新。
備註
您接著可以呼叫 IDXGISwapChain1::GetDesc1 方法來擷取指派的寬度或高度值。
因為您一次只能將一個翻轉簡報模型交換鏈結與 HWND 產生關聯,所以當您嘗試終結翻轉簡報模型交換鏈結,並將它取代為另一個交換鏈結時,Microsoft Direct3D 11 原則可能會造成問題。 如需此情況的詳細資訊,請參閱 翻轉簡報交換鏈結的延遲解構問題。
如需如何為交換鏈結的後台緩衝區選擇格式的詳細資訊,請參閱 轉換色彩空間的數據。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows 7 的 Windows 8 和平臺更新 [僅限傳統型應用程式] |
最低支援的伺服器 | 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | dxgi1_2.h |
程式庫 | Dxgi.lib |