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 |