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。
  • 如果 呼叫的應用程式提供無效的數據,例如,如果 pDescppSwapChainNULL,或 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 的平臺更新

備註

注意 請勿在 Windows 市集應用程式中使用此方法。 請改用 IDXGIFactory2::CreateSwapChainForCoreWindow
 
如果您指定寬度、高度或 (WidthHeightDXGI_SWAP_CHAIN_DESC1 成員, pDesc 指向交換鏈結) 為零,運行時間會從 hWnd 參數指定的輸出視窗中取得大小。

您接著可以呼叫 IDXGISwapChain1::GetDesc1 方法來擷取指派的寬度或高度值。

因為您一次只能將一個翻轉簡報模型交換鏈結與 HWND 產生關聯,所以當您嘗試終結翻轉簡報模型交換鏈結,並將它取代為另一個交換鏈結時,Microsoft Direct3D 11 原則可能會造成問題。 如需此情況的詳細資訊,請參閱 翻轉簡報交換鏈結的延遲解構問題

如需如何為交換鏈結的後台緩衝區選擇格式的詳細資訊,請參閱 轉換色彩空間的數據

規格需求

需求
最低支援的用戶端 適用於 Windows 7 的 Windows 8 和平臺更新 [僅限傳統型應用程式]
最低支援的伺服器 適用於 Windows Server 2008 R2 的 Windows Server 2012 和平臺更新 [僅限傳統型應用程式]
目標平台 Windows
標頭 dxgi1_2.h
程式庫 Dxgi.lib

另請參閱

為了獲得最佳效能,請使用 DXGI 翻轉模型

IDXGIFactory2