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
ピクセル形式にアルファ チャネルが含まれている場合のアルファ チャネルの意味。 次のいずれかの値を指定できます。
[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
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | dcomp.h |
Library | Dcomp.lib |
[DLL] | Dcomp.dll |