次の方法で共有


IDirectDrawSurface7::SetClipper メソッド (ddraw.h)

このサーフェスにクリッパー オブジェクトをアタッチするか、このサーフェスから削除します。

構文

HRESULT SetClipper(
  [in] LPDIRECTDRAWCLIPPER unnamedParam1
);

パラメーター

[in] unnamedParam1

DirectDrawSurface オブジェクトにアタッチする DirectDrawClipper オブジェクトの IDirectDrawClipper インターフェイスへのポインター。 このパラメーターを NULL に設定すると、現在の DirectDrawClipper オブジェクトはデタッチされます。

戻り値

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

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

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDSURFACETYPE
  • DDERR_NOCLIPPERATTACHED

解説

クリップーをサーフェスに初めて設定すると、 SetClipper はクリッパーの参照カウントをインクリメントします。後続の呼び出しは、クリッパーの参照カウントには影響しません。 lpDDClipper パラメーターとして NULL を渡すと、クリップーがサーフェスから削除され、クリッパーの参照カウントがデクリメントされます。 クリッパーを削除しない場合、サーフェス自体が解放されると、サーフェスは自動的にクリッパーへの参照を解放します。 COM ルールに従って、アプリケーションは、オブジェクトが不要になったときに、クリップーに保持されている参照を解放する必要があります。

SetClipper は、主にプライマリ サーフェスに重ねて表示またはビット分割されるサーフェスで使用されます。 ただし、任意のサーフェスで使用できます。 DirectDrawClipper オブジェクトがアタッチされ、クリップ リストが関連付けられた後、DirectDrawClipper オブジェクトは、親 DirectDrawSurface オブジェクトを含む IDirectDrawSurface7::BltIDirectDrawSurface7::BltBatchおよび IDirectDrawSurface7::UpdateOverlay 操作に使用されます。 SetClipper は、DirectDrawSurface オブジェクトの現在の DirectDrawClipper オブジェクトをデタッチすることもできます。

要件

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

関連項目

IDirectDrawSurface7