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 で宣言。