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 |