Método IDirectDraw7::EnumSurfaces (ddraw.h)

Enumera todas las superficies existentes o posibles que cumplen la descripción de la superficie especificada.

Sintaxis

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

Parámetros

[in] unnamedParam1

Combinación de una marca de tipo de búsqueda y una marca coincidente. La marca de tipo de búsqueda determina cómo el método busca superficies coincidentes; Puede buscar superficies que se puedan crear con la descripción en el parámetro lpDDSD2 o en superficies existentes que ya coincidan con esa descripción. La marca coincidente determina si el método enumera todas las superficies, solo las que coinciden o solo las que no coinciden con la descripción en el parámetro lpDDSD2 .

Marcas de tipo de búsqueda

DDENUMSURFACES_CANBECREATED

Enumera la primera superficie que se puede crear y cumple el criterio de búsqueda. Esta marca solo se puede usar con la marca DDENUMSURFACES_MATCH.

DDENUMSURFACES_DOESEXIST

Enumera las superficies ya existentes que cumplen el criterio de búsqueda.

Marcas coincidentes

DDENUMSURFACES_ALL

Enumera todas las superficies que cumplen el criterio de búsqueda. Esta marca solo se puede usar con la marca de tipo de búsqueda DDENUMSURFACES_DOESEXIST.

DDENUMSURFACES_MATCH

Busca cualquier superficie que coincida con la descripción de la superficie.

DDENUMSURFACES_NOMATCH

Busca cualquier superficie que no coincida con la descripción de la superficie.

[in] unnamedParam2

Dirección de una estructura DDSURFACEDESC2 que define la superficie de interés. Este parámetro puede ser NULL si dwFlags incluye la marca DDENUMSURFACES_ALL.

[in] unnamedParam3

Dirección de una estructura definida por la aplicación que se va a pasar a cada miembro de enumeración.

[in] unnamedParam4

Dirección de la función EnumSurfacesCallback7 a la que llama el procedimiento de enumeración cada vez que se encuentra una coincidencia.

Valor devuelto

Si el método se realiza correctamente, el valor devuelto es DD_OK.

Si se produce un error, el método puede devolver uno de los siguientes valores de error:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

Comentarios

Si se establece la marca DDENUMSURFACES_CANBECREATED, este método intenta crear temporalmente una superficie que cumpla el criterio de búsqueda.

Al usar la marca DDENUMSURFACES_DOESEXIST, se incrementa el recuento de referencias de una superficie enumerada; si no va a usar la superficie, asegúrese de usar IDirectDrawSurface7::Release para liberarla después de cada enumeración. Si va a usar la superficie, suéltelo cuando ya no sea necesario.

Este método difiere de sus homólogos en versiones anteriores de la interfaz en que acepta un puntero a una función EnumSurfacesCallback7 , en lugar de una función EnumSurfacesCallback o EnumSurfacesCallback2 .

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll

Consulte también

IDirectDraw7