Platform SDK: DirectX

IDirectDraw7::CreateSurface

IDirectDraw7::CreateSurface メソッドは、この DirectDraw オブジェクトに対する DirectDrawSurface オブジェクトを作成する。

HRESULT CreateSurface(
  LPDDSURFACEDESC2 lpDDSurfaceDesc2,        
  LPDIRECTDRAWSURFACE7 FAR *lplpDDSurface,  
  IUnknown FAR *pUnkOuter                  
);

パラメータ

lpDDSurfaceDesc2
要求するサーフェスを記述する DDSURFACEDESC2 構造体のアドレス。このメソッドを呼び出す前に、DDSURFACEDESC2 構造体の未使用メンバをすべて 0 に設定する。DDSCAPS2 構造体は、DDSURFACEDESC2 のメンバである。
lplpDDSurface
呼び出しが成功した場合に、有効な IDirectDrawSurface7 インターフェイス ポインタに設定される変数のアドレス。
pUnkOuter
COM 処理機能との将来的な互換のためにある。ただし、現時点では、このパラメータを NULL に設定しないと、このメソッドはエラーを返す。

戻り値

成功すれば、DD_OK を返す。

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

DDERR_INCOMPATIBLEPRIMARY
DDERR_INVALIDCAPS
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_INVALIDPIXELFORMAT
DDERR_NOALPHAHW
DDERR_NOCOOPERATIVELEVELSET
DDERR_NODIRECTDRAWHW
DDERR_NOEMULATION
DDERR_NOEXCLUSIVEMODE
DDERR_NOFLIPHW
DDERR_NOMIPMAPHW
DDERR_NOOVERLAYHW
DDERR_NOZBUFFERHW
DDERR_OUTOFMEMORY
DDERR_OUTOFVIDEOMEMORY
DDERR_PRIMARYSURFACEALREADYEXISTS
DDERR_UNSUPPORTEDMODE

動作環境

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