DD_MORESURFACECAPS 結構 (ddrawint.h)

除了 DDCORECAPS中所述的驅動程式介面功能之外,DD_MORESURFACECAPS結構還會定義更多驅動程式介面功能。

語法

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 結構的大小可變。 此結構的陣列成員內應該完全 DD_HALINFO.vmiData.dwNumHeaps 複本 的 ddsExtendedHeapRestrictions 結構。 因此,DD_MORESURFACECAPS 結構的大小總計如下:

dwSize = 
   sizeof(DD_MORESURFACECAPS) +
   (DD_HALINFO.vmiData.dwNumHeaps - 1) * sizeof(DDSCAPSEX) * 2

此計算會考慮DD_MORESURFACECAPS結構的大小下限,其中只包含一個 ddsExtendedHeapRestrictions 陣列元素。 新增其餘陣列元素的大小,必須考慮任何其他 ddsExtendedHeapRestrictions 陣列元素。 也就是說,藉由新增剩餘 的 ddsExtendedHeapRestrictions 結構乘以每個結構的大小乘積。

ddsCapsMore

指定 DDSCAPSEX 結構,提供 ddcaps.ddsCaps 的 延伸模組,描述驅動程式可建立的擴充表面類型。 當 DDCAPS 結構傳回應用程式時,它是從DDCAPS.ddsCapsDD_MORESURFACECAPS.ddsCapsMore所製造的DDSCAPS2結構。 DDSCAPSEX 結構與不含 dwCaps 成員的 DDSCAPS2 結構相同。

tagNTExtendedHeapRestrictions

tagNTExtendedHeapRestrictions.ddsCapsEx

tagNTExtendedHeapRestrictions.ddsCapsExAlt

ddsExtendedHeapRestrictions[1]

指定包含兩個成員的結構。 這些成員會由 Microsoft DirectX 6.0 感知驅動程式填入, (和符合較新版本 DirectX) 的驅動程式,以將公開給 Microsoft DirectDraw 的視訊記憶體堆積限制為特定DDSCAPS_Xxx 位集。 DirectDraw 版本是由查看 ddrawi.h中定義的 DDVERSIONINFO 來決定。 DD_MORESURFACECAPS 結構的ddsCapsExddsCapsExAlt成員與DD_HALINFO.vmiData的 VIDMEMINFO.pvmList成員中所列的 VIDEOMEMORY 結構ddsCapsddsCapsAlt成員完全相同。

ddsCapsEx

指定 DDSCAPSEX 結構,其中驅動程式會傳回無法使用此記憶體區塊的功能。

ddsCapsExAlt

指定 DDSCAPSEX 結構,當第一次傳遞上找不到其他記憶體時,驅動程式會傳回無法用於此記憶體區塊的功能。

備註

這個結構包含 DirectX 6.0 中新增至 DDCAPS.ddsCaps 結構的 caps 位。 如需 DDCAPS 結構的描述,請參閱 DirectDraw SDK 檔。

Microsoft Windows 98/Me 注意事項: DD_MORESURFACECAPS是 Windows 2000 和更新版本的定義。 在 Windows 98/Me 上執行的驅動程式會使用名稱 DDMORESURFACECAPS,其別名為 dx95type.h

需求

   
標頭 ddrawint.h (包括 Winddi.h)

另請參閱

DDCORECAPS

DDSCAPS2