Platform SDK: DirectX |
プライマリ サーフェス とは、現在モニタに表示されているサーフェスであり、DDSCAPS_PRIMARYSURFACE フラグで識別することができる。個々の DirectDraw オブジェクトに対してプライマリ サーフェスは 1 つしか存在しない。
プライマリ サーフェスを作成する場合、ディメンジョンおよびピクセル フォーマットは、現在のディスプレイ モードに暗に適合することを思い出すこと。したがって、これはサーフェスのディメンジョンやピクセル フォーマットを宣言する必要のない場合の 1 つである。つまり、これらの値を指定すると、その情報が現在のディスプレイ モードと適合していてしても、呼び出しは失敗して、DDERR_INVALIDPARAMS を返す。
次の例では、プライマリ サーフェスの作成に関係する DDSURFACEDESC2 構造体のメンバをどのように準備するかについて示す。
DDSURFACEDESC2 ddsd; ddsd.dwSize = sizeof(ddsd); // どのメンバが有効か DirectDraw に伝える。 ddsd.dwFlags = DDSD_CAPS; // プライマリ サーフェスを要求する。 ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
プライマリ サーフェスを作成すると、IDirectDrawSurface7::GetSurfaceDesc メソッドを呼び出してディメンジョンやピクセル フォーマットについての情報を取得することができる。
次の例では、プライマリ サーフェスの作成に関係する DDSURFACEDESC2 型のメンバをどのように準備するかについて示す。
Dim ddsd As DDSURFACEDESC2 ' どのメンバが有効か DirectDraw に伝える。 ddsd.lFlags = DDSD_CAPS ' プライマリ サーフェスを要求する。 ddsd.ddsCaps.lCaps = DDSCAPS_PRIMARYSURFACE
プライマリ サーフェスを作成すると、DirectDrawSurface7.GetSurfaceDesc メソッドを呼び出してディメンジョンやピクセル フォーマットについての情報を取得することができる。
「ディスプレイ モード」も参照すること。