DD_MORESURFACECAPS 構造体 (ddrawint.h)
DD_MORESURFACECAPS構造では、 DDCORECAPS で説明されているものに加えて、より多くのドライバーサーフェス機能が定義されています。
構文
typedef struct _DD_MORESURFACECAPS {
DWORD dwSize;
DDSCAPSEX ddsCapsMore;
struct {
DDSCAPSEX ddsCapsEx;
DDSCAPSEX ddsCapsExAlt;
} tagNTExtendedHeapRestrictions;
tagNTExtendedHeapRestrictions ddsExtendedHeapRestrictions[1];
} *PDD_MORESURFACECAPS, DD_MORESURFACECAPS;
メンバー
dwSize
このDD_MORESURFACECAPS構造体のサイズを指定します。 DD_MORESURFACECAPS構造体は可変サイズです。 この構造体の配列メンバー内には、ddsExtendedHeapRestrictions 構造体のDD_HALINFO.vmiData.dwNumHeaps コピーが存在する必要があります。 したがって、DD_MORESURFACECAPS構造体の合計サイズは次のようになります。
dwSize =
sizeof(DD_MORESURFACECAPS) +
(DD_HALINFO.vmiData.dwNumHeaps - 1) * sizeof(DDSCAPSEX) * 2
この計算では、 ddsExtendedHeapRestrictions 配列要素を 1 つだけ含む、DD_MORESURFACECAPS構造体の最小サイズが考慮されます。 残りの配列要素のサイズを追加することで、 追加の ddsExtendedHeapRestrictions 配列要素を考慮する必要があります。 つまり、残りの ddsExtendedHeapRestrictions 構造体の数の積を各構造体のサイズの倍に加算します。
ddsCapsMore
ドライバーが作成できる拡張サーフェスの種類を記述する ddcaps.ddsCaps の拡張機能を提供する DDSCAPSEX 構造体を指定します。 DDCAPS 構造体がアプリケーションに返されると、DDCAPS.ddsCaps および DD_MORESURFACECAPS.ddsCapsMore から製造された DDSCAPS2 構造体になります。 DDSCAPSEX 構造体は、 dwCaps メンバーのない DDSCAPS2 構造体と同じです。
tagNTExtendedHeapRestrictions
tagNTExtendedHeapRestrictions.ddsCapsEx
tagNTExtendedHeapRestrictions.ddsCapsExAlt
ddsExtendedHeapRestrictions[1]
2 つのメンバーを含む構造体を指定します。 これらのメンバーは、Microsoft DirectX 6.0 対応ドライバー (および新しいバージョンの DirectX に準拠しているドライバー) によって入力され、Microsoft DirectDraw に公開されるビデオ メモリ ヒープを特定のDDSCAPS_Xxx ビットのセットに制限します。 DirectDraw バージョンは、 ddrawi.h で定義されている DDVERSIONINFO を調べることによって決定されます。 DD_MORESURFACECAPS構造体の ddsCapsEx メンバーと ddsCapsExAlt メンバーは、DD_HALINFO.vmiData の VIDMEMINFO.pvmList メンバーにリストされている VIDEOMEMORY 構造体の ddsCaps および ddsCapsAlt メンバーとまったく同じです。
ddsCapsEx
このメモリ チャンクを使用できない機能をドライバーが返す DDSCAPSEX 構造体を指定します。
ddsCapsExAlt
最初のパスで他のメモリが見つからない場合に、このメモリ チャンクを使用できない機能をドライバーが返す DDSCAPSEX 構造体を指定します。
解説
この構造体には、DirectX 6.0 の DDCAPS.ddsCaps 構造体に追加されたキャップ ビットが含まれています。 DDCAPS 構造の説明については、DirectDraw SDK のドキュメントを参照してください。
Microsoft Windows 98/Me の注: DD_MORESURFACECAPSは、Windows 2000 以降のバージョンの定義です。 Windows 98/Me で実行されるドライバーでは、 dx95type.h で別名が付いた DDMORESURFACECAPS という名前が使用されます。
要件
Header | ddrawint.h (Winddi.h を含む) |