Share via


DD_MORESURFACECAPS-Struktur (ddrawint.h)

Die DD_MORESURFACECAPS-Struktur definiert zusätzlich zu den in DDCORECAPS beschriebenen Funktionen für die Treiberoberfläche.

Syntax

typedef struct _DD_MORESURFACECAPS {
  DWORD                         dwSize;
  DDSCAPSEX                     ddsCapsMore;
  struct {
    DDSCAPSEX ddsCapsEx;
    DDSCAPSEX ddsCapsExAlt;
  } tagNTExtendedHeapRestrictions;
  tagNTExtendedHeapRestrictions ddsExtendedHeapRestrictions[1];
} *PDD_MORESURFACECAPS, DD_MORESURFACECAPS;

Member

dwSize

Gibt die Größe dieser DD_MORESURFACECAPS-Struktur an. Die DD_MORESURFACECAPS-Struktur hat eine variable Größe. Es sollte genau DD_HALINFO.vmiData.dwNumHeaps-Kopien der ddsExtendedHeapRestrictions-Struktur im Arraymember dieser Struktur vorhanden sein. Die Gesamtgröße einer DD_MORESURFACECAPS-Struktur ist also:

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

Diese Berechnung berücksichtigt die Mindestgröße der DD_MORESURFACECAPS-Struktur, die nur ein ddsExtendedHeapRestrictions-Arrayelement enthält. Alle zusätzlichen ddsExtendedHeapRestrictions-Arrayelemente müssen durch Hinzufügen der Größen der verbleibenden Arrayelemente berücksichtigt werden. Das heißt, indem Sie das Produkt der Anzahl der verbleibenden ddsExtendedHeapRestrictions-Strukturen hinzufügen, um die Größe der einzelnen Strukturen zu erhöhen.

ddsCapsMore

Gibt eine DDSCAPSEX-Struktur an, die die Erweiterungen für ddcaps.ddsCaps bereitstellt, die die Typen erweiterter Oberflächen beschreiben, die der Treiber erstellen kann. Wenn eine DDCAPS-Struktur an die Anwendung zurückgegeben wird, handelt es sich um eine DDSCAPS2-Struktur , die aus DDCAPS.ddsCaps und DD_MORESURFACECAPS.ddsCapsMore hergestellt wird. Eine DDSCAPSEX-Struktur ist identisch mit einer DDSCAPS2-Struktur ohne den dwCaps-Member .

tagNTExtendedHeapRestrictions

tagNTExtendedHeapRestrictions.ddsCapsEx

tagNTExtendedHeapRestrictions.ddsCapsExAlt

ddsExtendedHeapRestrictions[1]

Gibt eine Struktur an, die zwei Member enthält. Diese Member werden von Microsoft DirectX 6.0-fähigen Treibern (und Treibern, die mit späteren Versionen von DirectX kompatibel sind) ausgefüllt, um die Videospeicherheaps, die für Microsoft DirectDraw verfügbar gemacht werden, auf bestimmte Gruppen von DDSCAPS_Xxx-Bits zu beschränken. Die DirectDraw-Version wird anhand von DDVERSIONINFO ermittelt, das in ddrawi.h definiert ist. Die ddsCapsEx - und ddsCapsExAlt-Member der DD_MORESURFACECAPS-Struktur sind genau analog zu den ddsCaps - und ddsCapsAlt-Membern der VIDEOMEMORY-Strukturen, die im VIDMEMINFO.pvmList-Member von DD_HALINFO.vmiData aufgeführt sind.

ddsCapsEx

Gibt eine DDSCAPSEX-Struktur an, in der der Treiber die Funktionen zurückgibt, für die dieser Speicherblock nicht verwendet werden kann.

ddsCapsExAlt

Gibt eine DDSCAPSEX-Struktur an, in der der Treiber die Funktionen zurückgibt, für die dieser Speicherblock nicht verwendet werden kann, wenn beim ersten Durchlauf kein anderer Arbeitsspeicher gefunden wird.

Hinweise

Diese Struktur enthält die Caps-Bits, die der DDCAPS.ddsCaps-Struktur in DirectX 6.0 hinzugefügt wurden. Eine Beschreibung der DDCAPS-Struktur finden Sie in der DirectDraw SDK-Dokumentation.

Hinweis für Microsoft Windows 98/Me: DD_MORESURFACECAPS ist die Definition für Windows 2000 und höhere Versionen. Treiber, die unter Windows 98/Me ausgeführt werden, verwenden den Namen DDMORESURFACECAPS, der in dx95type.h als Alias verwendet wird.

Anforderungen

   
Kopfzeile ddrawint.h (einschließlich Winddi.h)

Weitere Informationen

DDCORECAPS

DDSCAPS2