Share via


IDCompositionDevice2::CreateSurfaceFactory 方法 (dcomp.h)

建立 Microsoft DirectComposition Surface Factory 物件,可用來建立其他 DirectComposition 介面或虛擬介面物件

語法

HRESULT CreateSurfaceFactory(
  [in]  IUnknown                    *renderingDevice,
  [out] IDCompositionSurfaceFactory **surfaceFactory
);

參數

[in] renderingDevice

用來建立 DirectComposition 介面物件的 DirectX 裝置指標。 必須是實作 IDXGIDeviceID2D1Device 介面之物件的指標。 此參數不得為 NULL。

[out] surfaceFactory

新建立的 Surface Factory 物件。 此參數不得為 NULL。

傳回值

如果函式成功,它會傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。 如需錯誤碼的清單,請參閱 DirectComposition 錯誤 碼。

備註

Surface Factory 可讓應用程式搭配 DirectComposition 同時使用多個單一 DXGI 或 Direct2D 裝置。 每個表面處理站都有一個 DXGI 或 Direct2D 裝置的永久關聯,但 DirectComposition 裝置可能會有任意數目的 Surface Factory。

每個 Surface Factory 都會獨立管理資源。 特別是,DirectComposition 集區介面配置可減輕表面配置和解除分配成本。 此集區是以每個表面處理站為基礎來完成。

如果使用非 NULL 轉譯Device 參數呼叫 DCompositionCreateDevice2式,則傳回的 DirectComposition 裝置物件在與指定轉譯裝置相關聯的涵蓋下具有隱含的 Surface Factory。 此隱含 Surface Factory 可用來服務 IDCompositionDevice::CreateSurfaceIDCompositionDevice::CreateVirtualSurfaceIDCompositionDevice2::CreateSurfaceIDCompositionDevice2::CreateVirtualSurface 方法。

只要它所建立的任何表面或虛擬表面都保持運作,表面物件就會保持運作,只要應用程式直接保存直接參考,或間接地因為一或多個這類表面與一或多個視覺對象相關聯。

規格需求

需求
最低支援的用戶端 Windows 8.1 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 dcomp.h
程式庫 Dcomp.lib
Dll Dcomp.dll

另請參閱

IDCompositionDevice2

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface