Platform SDK: DirectX

DirectDrawSurface7.AddAttachedSurface

DirectDrawSurface7.AddAttachedSurface メソッドは、指定したサーフェスをこのサーフェスにアタッチする。

object.AddAttachedSurface(ddS As DirectDrawSurface7)

パラメータ

object
DirectDrawSurface7 オブジェクトを表すオブジェクト式。
ddS
アタッチされるサーフェスに対する DirectDrawSurface7 オブジェクト。

エラー コード

失敗すればエラーが発生し、Err.Number に次のいずれかの値が設定される。

DDERR_CANNOTATTACHSURFACE
DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_SURFACEALREADYATTACHED
DDERR_SURFACELOST
DDERR_WASSTILLDRAWING

注意

DirectDrawSurface7.DeleteAttachedSurface メソッドを使って、明示的にサーフェスのアタッチを解除できる。DirectDraw7.CreateSurface の呼び出しで作成する複合サーフェスとは異なり、このメソッドでアタッチされるサーフェスは自動的に解放されない。このようなサーフェスの解放は、アプリケーションの役目である。

Z バッファ、アルファ チャネル、およびバック バッファを含むアタッチが可能である。自動的にほかのアタッチを切断するアタッチもある。たとえば、3D Z バッファを一度に 1 つのバック バッファだけにアタッチすることができる。アタッチは双方向的ではないので、サーフェスをそれ自体にアタッチすることはできない。エミュレートされていないサーフェスに、エミュレートされたサーフェス (システム メモリ内) をアタッチすることはできない。1 つのサーフェスがテクスチャ マップでない限り、2 つのアタッチされたサーフェスは同じサイズでなくてはらない。フリッピング サーフェスを同じ型の別のフリッピング サーフェスにアタッチできないが、異なるタイプの 2 つのサーフェスをアタッチすることができる。たとえば、フリッピング Z バッファを、通常のフリッピング サーフェスにアタッチできる。フリッピングしないサーフェスを同じタイプの別のフリッピングしないサーフェスにアタッチすると、2 つのサーフェスはフリッピング チェーンとなる。フリッピングしないサーフェスをフリッピング サーフェスにアタッチすると、既存のフリッピング チェーンの一部となる。追加サーフェスはこのチェーンに追加され、DirectDrawSurface7.Flip メソッドを呼び出すごとにサーフェスを 1 ステップ進ませる。

参照

DirectDrawSurface7.DeleteAttachedSurfaceDirectDrawSurface7.GetAttachedSurfaceEnum