Platform SDK: DirectX

プライマリ サーフェスの作成

プライマリ サーフェス とは、現在モニタに表示されているサーフェスであり、DDSCAPS_PRIMARYSURFACE フラグで識別することができる。個々の DirectDraw オブジェクトに対してプライマリ サーフェスは 1 つしか存在しない。

プライマリ サーフェスを作成する場合、ディメンジョンおよびピクセル フォーマットは、現在のディスプレイ モードに暗に適合することを思い出すこと。したがって、これはサーフェスのディメンジョンやピクセル フォーマットを宣言する必要のない場合の 1 つである。つまり、これらの値を指定すると、その情報が現在のディスプレイ モードと適合していてしても、呼び出しは失敗して、DDERR_INVALIDPARAMS を返す。

[C++]

次の例では、プライマリ サーフェスの作成に関係する DDSURFACEDESC2 構造体のメンバをどのように準備するかについて示す。

DDSURFACEDESC2 ddsd; 
ddsd.dwSize = sizeof(ddsd); 
 
// どのメンバが有効か DirectDraw に伝える。
ddsd.dwFlags = DDSD_CAPS; 
 
// プライマリ サーフェスを要求する。
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; 

プライマリ サーフェスを作成すると、IDirectDrawSurface7::GetSurfaceDesc メソッドを呼び出してディメンジョンやピクセル フォーマットについての情報を取得することができる。

[Visual Basic]

次の例では、プライマリ サーフェスの作成に関係する DDSURFACEDESC2 型のメンバをどのように準備するかについて示す。

Dim ddsd As DDSURFACEDESC2
 
' どのメンバが有効か DirectDraw に伝える。
ddsd.lFlags = DDSD_CAPS
 
' プライマリ サーフェスを要求する。
ddsd.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE

プライマリ サーフェスを作成すると、DirectDrawSurface7.GetSurfaceDesc メソッドを呼び出してディメンジョンやピクセル フォーマットについての情報を取得することができる。

ディスプレイ モード」も参照すること。