次の方法で共有


IDCompositionSurfaceFactory::CreateVirtualSurface メソッド (dcomp.h)

コンポジション用の 1 つ以上のビジュアルに関連付けることができる、スパースに設定されたサーフェスを作成します。

構文

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

アルファ チャネルがピクセル形式に含まれている場合のアルファ チャネルの形式。 これは、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::Trim メソッドまたは IDCompositionVirtualSurface::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
Library Dcomp.lib
[DLL] Dcomp.dll

こちらもご覧ください

IDCompositionDevice2::CreateSurface

IDCompositionDevice2::CreateVirtualSurface

IDCompositionSurfaceFactory

IDCompositionSurfaceFactory::CreateVirtualSurface