Platform SDK: DirectX

IDirectDrawSurface7::SetSurfaceDesc

IDirectDrawSurface7::SetSurfaceDesc メソッドは、既存のサーフェスの特性を設定する。

HRESULT SetSurfaceDesc(
  LPDDSURFACEDESC2 lpddsd2,  
  DWORD dwFlags            
);

パラメータ

lpddsd2
新しいサーフェス特性を含む DDSURFACEDESC2 構造体のアドレス。
dwFlags
現時点では未使用なので 0 を設定しておく。

戻り値

成功すれば、DD_OK を返す。

失敗すれば、以下のエラー値のいずれかを返す。

DDERR_INVALIDPARAMS
DDERR_INVALIDOBJECT
DDERR_SURFACELOST
DDERR_SURFACEBUSY
DDERR_INVALIDSURFACETYPE
DDERR_INVALIDPIXELFORMAT
DDERR_INVALIDCAPS
DDERR_UNSUPPORTED
DDERR_GENERIC

注意

現在、このメソッドは、明示的なシステムメモリ サーフェスで使用されるサーフェス データ、およびピクセル フォーマットを設定するためだけに使用できる。このメソッドを使用すると、サーフェスは以前に割り当てられたバッファからデータをコピーせずに使用できるので便利である。新しいサーフェス メモリは、クライアント アプリケーションによって割り当てられる。この場合、クライアント アプリケーションでは、その割り当ての解放も行う必要がある。詳細については、「サーフェス特性の更新」を参照すること。

このメソッドを誤って使用すると、予測不可能な動作が生じる。DirectDrawSurface オブジェクトは、そのオブジェクト自体で割り当てていないサーフェス メモリの割り当て解除は行わない。したがって、サーフェス メモリが必要なくなると、開発者がその割り当てを解除しなくてはならない。ただし、このメソッドが呼び出される場合、DirectDraw はサーフェスの作成時に暗に割り当てた元のサーフェス メモリを解放する。

動作環境

  Windows NT/2000 :Windows 2000 が必要。
  Windows 95/98 : Windows 98 が必要。
  ヘッダー : ddraw.h で宣言。