Platform SDK: DirectX

DDSCAPS

DDSCAPS 構造体は、DirectDrawSurface オブジェクトの能力を定義する。この構造体は、DDCAPS および DDSURFACEDESC 構造体の一部である。

typedef struct _DDSCAPS{ 
    DWORD dwCaps; 
} DDSCAPS, FAR* LPDDSCAPS; 

メンバ

dwCaps
サーフェスの能力。以下のフラグのうち、1 つ以上の値を取る。
DDSCAPS_3D
未対応。代わりに DDSCAPS_3DDEVICE を使用する。
DDSCAPS_3DDEVICE
このサーフェスは 3D レンダリングに使用できる。アプリケーションはこのフラグを使い、デバイスが適切なヒープから割り当てられたオフスクリーン サーフェスのある特定のヒープだけをレンダリングできることを保証する。このフラグがヒープに対して設定されている場合、サーフェスはそのヒープから割り当てられない。
DDSCAPS_ALLOCONLOAD
未使用。
DDSCAPS_ALPHA
このサーフェスはアルファ専用情報を含む。
DDSCAPS_BACKBUFFER
このサーフェスは、サーフェス フリッピング構造のバック バッファである。通常、この能力は、DDSCAPS_FLIP フラグが使用されるときに CreateSurface メソッドで設定される。DDSCAPS_FRONTBUFFER サーフェスの直前のサーフェスだけ、この能力が設定される。DDSCAPS_FLIP フラグの存在、アタッチの順序、および DDSCAPS_FRONTBUFFER と DDSCAPS_BACKBUFFER 能力の欠如により、別のサーフェスがバック バッファとして識別される。この能力が CreateSurface メソッドに送られると、スタンドアロン バック バッファを作成する。このメソッドを呼び出した後、このサーフェスは、フロント バッファ、別のバック バッファ、またはその両方にアタッチしてフリッピング サーフェス構造を形成できる。詳細については、「IDirectDrawSurface7::AddAttachedSurface」を参照すること。DirectDraw では、プリッピング構造にサーフェスはいくつでも存在できる。
DDSCAPS_COMPLEX
複合サーフェスが記述される。複合サーフェスは、2 つ以上のサーフェスから作成される。追加サーフェスは、ルート サーフェスにアタッチされる。複合サーフェスは、ルートを破棄するだけで破棄できる。
DDSCAPS_FLIP
このサーフェスは、サーフェス フリッピング構造の一部である。この能力が CreateSurface メソッドに渡されると、フロント バッファおよび 1 つ以上のバック バッファが作成される。DirectDraw は、フロントバッファ サーフェスに DDSCAPS_FRONTBUFFER ビット、およびフロントバッファ サーフェスに隣接するサーフェスに DDSCAPS_BACKBUFFER ビットを設定する。メソッドの呼び出しが成功するためには、DDSURFACEDESC 構造体の dwBackBufferCount メンバを少なくとも 1 に設定する必要がある。CreateSurface メソッドで複数のサーフェスを作成する場合、DDSCAPS_COMPLEX 能力を常に設定しなくてはならない。
DDSCAPS_FRONTBUFFER
このサーフェスは、サーフェス フリッピング構造のフロント バッファである。このフラグは、一般には DDSCAPS_FLIP 能力を設定する際に CreateSurface メソッドによって設定される。この能力が CreateSurface メソッドに送られると、スタンドアロン フロント バッファが作成される。このサーフェスには DDSCAPS_FLIP 能力がない。このサーフェスは、IDirectDrawSurface7::AddAttachedSurface を使用することにより、バック バッファにアタッチしてフリッピング構造を形成できる。
DDSCAPS_HWCODEC
このサーフェスは、ハードウェアによって圧縮解除されたストリームを持つことができる。
DDSCAPS_LIVEVIDEO
このサーフェスは、ライブ ビデオを受け取ることができる。
DDSCAPS_LOCALVIDMEM
このサーフェスは、非ローカル ビデオ メモリではなく、真のローカル ビデオ メモリに存在する。このフラグを指定するときは、DDSCAPS_VIDEOMEMORY も指定しなければならない。このフラグは、DDSCAPS_NONLOCALVIDMEM フラグと共に使用できない。
DDSCAPS_MIPMAP
このサーフェスは、ミップマップの 1 つのレベルである。このサーフェスは、ほかの DDSCAPS_MIPMAP サーフェスにアタッチしてミップマップを形成できる。このようなミップマップの作成は、いくつかのサーフェスを作成し、それらのサーフェスを IDirectDrawSurface7::AddAttachedSurface メソッドでアタッチすることで明示的に行われるか、CreateSurface メソッドを使用して暗黙的に行われる。この能力を設定する場合、DDSCAPS_TEXTURE も設定しなくてはならない。
DDSCAPS_MODEX
このサーフェスは、320 × 200 または 320 × 240 のモード X サーフェスである。
DDSCAPS_NONLOCALVIDMEM
このサーフェスは、真のローカル ビデオ メモリではなく、非ローカル ビデオ メモリに存在する。このフラグを指定するときは、DDSCAPS_VIDEOMEMORY フラグも指定しなければならない。これは、DDSCAPS_LOCALVIDMEM フラグと共に使用することはできない。
DDSCAPS_OFFSCREENPLAIN
このサーフェスはオフスクリーン サーフェスであり、オーバーレイ、テクスチャ、Z バッファ、フロントバッファ、バックバッファ、またはアルファ サーフェスのいずれでもない。プレーン サーフェスを識別するために使用される。
DDSCAPS_OPTIMIZED
現時点では、実装されていない。
DDSCAPS_OVERLAY
このサーフェスは、オーバーレイであるこのサーフェスが直接表示できるかどうかは、現時点でプライマリ サーフェスにオーバーレイされているかどうかによって決まる。DDSCAPS_VISIBLE を使用して、サーフェスが現時点でオーバーレイされているかどうかを判断できる。
DDSCAPS_OWNDC
このサーフェスは、長時間にわたってデバイス コンテキスト (DC) と関連を持つ。
DDSCAPS_PALETTE
このデバイス ドライバを使用すると、固有の DirectDrawPalette オブジェクトを作成してこのサーフェスにアタッチできる。
DDSCAPS_PRIMARYSURFACE
サーフェスは、プライマリ サーフェスである。このサーフェスは現在の表示内容を表す。
DDSCAPS_STANDARDVGAMODE
このサーフェスは、標準 VGA モード サーフェスであり、モード X サーフェスではない。このフラグは、DDSCAPS_MODEX フラグの組み合わせで使用することはできない。
DDSCAPS_SYSTEMMEMORY
このサーフェス メモリは、システム メモリに割り当てられた。
DDSCAPS_TEXTURE
このサーフェスは、3D テクスチャとして使用できる。ただし、サーフェスが現在 3D テクスチャとして使用されているかどうかを示すものではない。
DDSCAPS_VIDEOMEMORY
このサーフェスは、ディスプレイ メモリにある。
DDSCAPS_VIDEOPORT
このサーフェスは、ビデオ ポートからデータを受け取ることができる。
DDSCAPS_VISIBLE
このサーフェスへの変更はすぐに表示できる。このサーフェスは、オーバーレイの際のオーバーレイや、テクスチャ処理の際のテクスチャ マップに対して設定されるほかにも、プライマリ サーフェスに対して常に設定される。
DDSCAPS_WRITEONLY
サーフェスへの書き込み専用アクセスが許可されている。サーフェスからの読み込みアクセスは、一般保護 (GP) エラーを発生する可能性がある。ただし、このサーフェスからの読み込み結果には意味がある。
DDSCAPS_ZBUFFER
.このサーフェスは、Z バッファである。z バッファには、表示されない情報を含む。代わりに、Z バッファには、どのピクセルが表示され、どのピクセルが表示されないかを決定するのに使用するビット深度情報を含む。

動作環境

  Windows NT/2000 : Windows NT 4.0 Service Pack 3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  ヘッダー : ddraw.h で宣言。