次の方法で共有


IDCompositionDevice2::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

型: UINT

サーフェスの幅 (ピクセル単位)。 最大幅は 16,777,216 ピクセルです。

[in] initialHeight

型: UINT

サーフェスの高さ (ピクセル単位)。 最大高さは 16,777,216 ピクセルです。

[in] pixelFormat

種類: DXGI_FORMAT

サーフェスのピクセル形式。

[in] alphaMode

種類: DXGI_ALPHA_MODE

ピクセル形式にアルファ チャネルが含まれている場合のアルファ チャネルの意味。 次のいずれかの値を指定できます。

意味
DXGI_ALPHA_MODE_UNSPECIFIED
アルファ チャネルが指定されていません。 この値は、 DXGI_ALPHA_MODE_IGNOREと同じ効果を持ちます。
DXGI_ALPHA_MODE_PREMULTIPLIED
カラー チャネルには、アルファ チャネルで事前に乗算された値が含まれています。
DXGI_ALPHA_MODE_IGNORE
アルファ チャネルは無視し、ビットマップは不透明にレンダリングする必要があります。

[out] virtualSurface

種類: IDCompositionVirtualSurface**

新しく作成されたサーフェス オブジェクト。 このパラメーターを NULL にすることはできません。

戻り値

種類: HRESULT

関数が成功した場合は、S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。 エラー コードの一覧については、「 DirectComposition エラー コード 」を参照してください。

注釈

Microsoft DirectComposition スパースサーフェスは、コンポジション用のビジュアルに関連付けることができるピクセルの長方形配列のように動作する論理オブジェクトです。 サーフェスは、ピクセルごとに物理ビデオまたはシステム メモリによって必ずしもサポートされるとは限りません。 アプリケーションは、論理サーフェスの一部を異なるタイミングで実現または仮想化できます。

新しく作成されたサーフェス オブジェクトは、初期化されていない状態です。 初期化されていない間、サーフェスはビジュアル ツリーの構成には影響しません。 100% 透明ピクセルで初期化されたサーフェスとまったく同じように動作します。

ピクセル データを使用してサーフェスを初期化するには、 IDCompositionSurface::BeginDraw メソッドと IDCompositionSurface::EndDraw メソッドを使用します。 このメソッドは、サーフェスのピクセルを提供するだけでなく、それらのピクセルに実際の記憶領域を割り当てます。 メモリ割り当ては、アプリケーションがシステムにメモリの一部を返すまで保持されます。 アプリケーションは、 IDCompositionVirtualSurface::Trim メソッドを呼び出すことによって、割り当てられたメモリの一部またはすべてを解放できます。

DirectComposition サーフェスでは、次のピクセル形式がサポートされます。

  • DXGI_FORMAT_B8G8R8A8_UNORM
  • DXGI_FORMAT_R8G8B8A8_UNORM
  • DXGI_FORMAT_R16G16B16A16_FLOAT
initialWidth または initialHeight が 16,777,216 ピクセルを超えると、このメソッドは失敗します。

要件

要件
サポートされている最小のクライアント Windows 8.1 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー dcomp.h
Library Dcomp.lib
[DLL] Dcomp.dll

こちらもご覧ください

IDCompositionDevice2

IDCompositionDevice::CreateSurface