Freigeben über


IDirectDraw7::EnumSurfaces-Methode (ddraw.h)

Listet alle vorhandenen oder möglichen Oberflächen auf, die der angegebenen Oberflächenbeschreibung entsprechen.

Syntax

HRESULT EnumSurfaces(
  [in] DWORD                     unnamedParam1,
  [in] LPDDSURFACEDESC2          unnamedParam2,
  [in] LPVOID                    unnamedParam3,
  [in] LPDDENUMSURFACESCALLBACK7 unnamedParam4
);

Parameter

[in] unnamedParam1

Eine Kombination aus einem Suchtypflag und einem übereinstimmenden Flag. Das Suchtypflag bestimmt, wie die Methode nach übereinstimmenden Oberflächen sucht. Sie können nach Oberflächen suchen, die mithilfe der Beschreibung im lpDDSD2-Parameter erstellt werden können, oder nach vorhandenen Oberflächen, die dieser Beschreibung bereits entsprechen. Das übereinstimmende Flag bestimmt, ob die -Methode alle Oberflächen aufzählt, nur diejenigen, die übereinstimmen, oder nur solche, die nicht mit der Beschreibung im lpDDSD2-Parameter übereinstimmen.

Suchtypflags

DDENUMSURFACES_CANBECREATED

Listet die erste Oberfläche auf, die erstellt werden kann, und erfüllt das Suchkriterium. Dieses Flag kann nur mit dem flag DDENUMSURFACES_MATCH verwendet werden.

DDENUMSURFACES_DOESEXIST

Listet die bereits vorhandenen Flächen auf, die das Suchkriterium erfüllen.

Übereinstimmende Flags

DDENUMSURFACES_ALL

Listet alle Oberflächen auf, die das Suchkriterium erfüllen. Dieses Flag kann nur mit dem DDENUMSURFACES_DOESEXIST Suchtypflag verwendet werden.

DDENUMSURFACES_MATCH

Sucht nach einer beliebigen Oberfläche, die der Oberflächenbeschreibung entspricht.

DDENUMSURFACES_NOMATCH

Sucht nach jeder Oberfläche, die nicht mit der Oberflächenbeschreibung übereinstimmt.

[in] unnamedParam2

Adresse einer DDSURFACEDESC2 Struktur, die die Oberfläche des Interesses definiert. Dieser Parameter kann NULL sein, wenn dwFlags das flag DDENUMSURFACES_ALL enthält.

[in] unnamedParam3

Adresse einer anwendungsdefinierten Struktur, die an jeden Enumerationsmember übergeben werden soll.

[in] unnamedParam4

Adresse der EnumSurfacesCallback7-Funktion , die die Enumerationsprozedur jedes Mal aufruft, wenn eine Übereinstimmung gefunden wird.

Rückgabewert

Wenn die Methode erfolgreich ist, wird der Rückgabewert DD_OK.

Wenn ein Fehler auftritt, kann die -Methode einen der folgenden Fehlerwerte zurückgeben:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

Hinweise

Wenn das flag DDENUMSURFACES_CANBECREATED festgelegt ist, versucht diese Methode, vorübergehend eine Oberfläche zu erstellen, die das Suchkriterium erfüllt.

Wenn Sie das flag DDENUMSURFACES_DOESEXIST verwenden, wird die Verweisanzahl einer enumerierten Oberfläche erhöht. Wenn Sie die Oberfläche nicht verwenden möchten, stellen Sie sicher, dass Sie IDirectDrawSurface7::Release verwenden, um sie nach jeder Enumeration freizugeben. Wenn Sie die Oberfläche verwenden, lassen Sie es los, wenn sie nicht mehr benötigt wird.

Diese Methode unterscheidet sich von ihren Entsprechungen in früheren Schnittstellenversionen darin, dass sie einen Zeiger auf eine EnumSurfacesCallback7-Funktion anstelle einer EnumSurfacesCallback - oder EnumSurfacesCallback2-Funktion akzeptiert.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ddraw.h
Bibliothek Ddraw.lib
DLL Ddraw.dll

Weitere Informationen

IDirectDraw7