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 |