Condividi tramite


Metodo IDirectDraw7::EnumSurfaces (ddraw.h)

Enumera tutte le superfici esistenti o possibili che soddisfano la descrizione della superficie specificata.

Sintassi

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

Parametri

[in] unnamedParam1

Combinazione di un flag di tipo di ricerca e di un flag corrispondente. Il flag del tipo di ricerca determina il modo in cui il metodo cerca le superfici corrispondenti; è possibile cercare superfici che possono essere create usando la descrizione nel parametro lpDDSD2 o per le superfici esistenti che corrispondono già a tale descrizione. Il flag di corrispondenza determina se il metodo enumera tutte le superfici, solo quelle corrispondenti o solo quelle che non corrispondono alla descrizione nel parametro lpDDSD2 .

Flag di tipo di ricerca

DDENUMSURFACES_CANBECREATED

Enumera la prima superficie che può essere creata e soddisfa il criterio di ricerca. Questo flag può essere usato solo con il flag di DDENUMSURFACES_MATCH.

DDENUMSURFACES_DOESEXIST

Enumera le superfici già esistenti che soddisfano il criterio di ricerca.

Flag corrispondenti

DDENUMSURFACES_ALL

Enumera tutte le superfici che soddisfano il criterio di ricerca. Questo flag può essere usato solo con il flag di tipo di ricerca DDENUMSURFACES_DOESEXIST.

DDENUMSURFACES_MATCH

Cerca qualsiasi superficie corrispondente alla descrizione della superficie.

DDENUMSURFACES_NOMATCH

Cerca qualsiasi superficie che non corrisponde alla descrizione della superficie.

[in] unnamedParam2

Indirizzo di una struttura DDSURFACEDESC2 che definisce la superficie di interesse. Questo parametro può essere NULL se dwFlags include il flag di DDENUMSURFACES_ALL.

[in] unnamedParam3

Indirizzo di una struttura definita dall'applicazione da passare a ogni membro di enumerazione.

[in] unnamedParam4

Indirizzo della funzione EnumSurfacesCallback7 che la procedura di enumerazione chiama ogni volta che viene trovata una corrispondenza.

Valore restituito

Se il metodo ha esito positivo, il valore restituito è DD_OK.

Se ha esito negativo, il metodo può restituire uno dei valori di errore seguenti:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

Commenti

Se il flag DDENUMSURFACES_CANBECREATED è impostato, questo metodo tenta di creare temporaneamente una superficie che soddisfi il criterio di ricerca.

Quando si usa il flag DDENUMSURFACES_DOESEXIST, viene incrementato il numero di riferimenti di un'area enumerata, se non si userà la superficie, assicurarsi di usare IDirectDrawSurface7::Release per rilasciarla dopo ogni enumerazione. Se si usa la superficie, rilasciarla quando non è più necessaria.

Questo metodo differisce dalle sue controparti nelle versioni precedenti dell'interfaccia in cui accetta un puntatore a una funzione EnumSurfacesCallback7, anziché una funzione EnumSurfacesCallback o EnumSurfacesCallback2.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione ddraw.h
Libreria Ddraw.lib
DLL Ddraw.dll

Vedi anche

IDirectDraw7