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.vmiDataVIDMEMINFO.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 を含む)

関連項目

DDCORECAPS

DDSCAPS2