次の方法で共有


IDirectDrawSurface7::D eleteAttachedSurface メソッド (ddraw.h)

1 つ以上のアタッチされたサーフェスをデタッチします。

構文

HRESULT DeleteAttachedSurface(
  [in] DWORD                unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2
);

パラメーター

[in] unnamedParam1

現在は使用されていません。0 に設定する必要があります。

[in] unnamedParam2

デタッチする DirectDrawSurface オブジェクトの IDirectDrawSurface7 インターフェイスへのポインター。 このパラメーターが NULL の場合、アタッチされているすべてのサーフェスがデタッチされます。

戻り値

メソッドが成功した場合、戻り値はDD_OK。

失敗した場合、メソッドは次のいずれかのエラー値を返すことができます。

  • DDERR_CANNOTDETACHSURFACE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST
  • DDERR_SURFACENOTATTACHED

解説

DeleteAttachedSurface は、デタッチするサーフェスの参照カウントをデクリメントします。 デタッチするサーフェスの参照カウントが 0 に達すると、サーフェスは失われ、メモリから削除されます。

IDirectDrawSurface7::AddAttachedSurface メソッドではなく DirectDraw によって形成される暗黙的な添付ファイルは、デタッチできません。 反転チェーンからサーフェスをデタッチすると、チェーン内の他のサーフェスが変更される可能性があります。 フロント バッファーが反転チェーンからデタッチされると、チェーン内の次のサーフェスがフロント バッファーになり、次のサーフェスがバック バッファーになります。 バック バッファーがチェーンからデタッチされると、次のサーフェスがバック バッファーになります。 プレーンサーフェスがチェーンからデタッチされた場合、チェーンは単純に短くなります。 反転チェーンのサーフェスが 2 つだけで、切断されている場合、チェーンは破棄され、両方のサーフェスは以前の指定に戻ります。

要件

   
対象プラットフォーム Windows
ヘッダー ddraw.h
Library Ddraw.lib
[DLL] Ddraw.dll

関連項目

IDirectDrawSurface7