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.ddsCaps和DD_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 結構的ddsCapsEx和ddsCapsExAlt成員與DD_HALINFO.vmiData的 VIDMEMINFO.pvmList成員中所列的 VIDEOMEMORY 結構ddsCaps和ddsCapsAlt成員完全相同。
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) |