共用方式為


IDCompositionSurfaceFactory::CreateVirtualSurface 方法 (dcomp.h)

建立疏鬆填入的介面,以便與一或多個視覺效果建立關聯以進行組合。

語法

HRESULT CreateVirtualSurface(
  [in]  UINT                        initialWidth,
  [in]  UINT                        initialHeight,
  [in]  DXGI_FORMAT                 pixelFormat,
  [in]  DXGI_ALPHA_MODE             alphaMode,
  [out] IDCompositionVirtualSurface **virtualSurface
);

參數

[in] initialWidth

介面的寬度,以像素為單位。 寬度上限為 16,777,216 圖元。

[in] initialHeight

表面的高度,以像素為單位。 高度上限為 16,777,216 圖元。

[in] pixelFormat

表面的像素格式。

[in] alphaMode

如果 Alpha 色板包含在像素格式中,則 Alpha 色板的格式。 這可以是其中一個DXGI_ALPHA_MODE_PREMULTIPLIED或DXGI_ALPHA_MODE_IGNORE。 它也可以DXGI_ALPHA_MODE_UNSPECIFIED,它會解譯為DXGI_ALPHA_MODE_IGNORE。

[out] virtualSurface

新建立的虛擬介面物件。 此參數不得為 NULL。

傳回值

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

備註

新建立的虛擬介面對象處於未初始化的狀態。 雖然未初始化,但介面對可視化樹狀結構的組合沒有任何作用。 其行為與以 100% 透明圖元初始化的表面完全相同。

若要使用像素數據初始化表面,請使用 IDCompositionSurface::BeginDraw 方法。 這個方法不僅提供介面的圖元,也會為那些圖元配置實際的儲存空間。 記憶體配置會持續存在,直到應用程式將部分記憶體傳回系統為止。 應用程式可以藉由呼叫 IDCompositionVirtualSurface::TrimIDCompositionVirtualSurface::Resize 方法來釋放部分或所有配置的記憶體。

Microsoft DirectComposition 介面支援下列像素格式:

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT

規格需求

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

另請參閱

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory::CreateVirtualSurface