Compartilhar via


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

Enumera todas as superfícies existentes ou possíveis que atendem à descrição da superfície especificada.

Sintaxe

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

Parâmetros

[in] unnamedParam1

Uma combinação de um sinalizador de tipo de pesquisa e um sinalizador correspondente. O sinalizador de tipo de pesquisa determina como o método procura superfícies correspondentes; você pode pesquisar superfícies que podem ser criadas usando a descrição no parâmetro lpDDSD2 ou para superfícies existentes que já correspondem a essa descrição. O sinalizador correspondente determina se o método enumera todas as superfícies, somente aquelas que correspondem ou somente aquelas que não correspondem à descrição no parâmetro lpDDSD2 .

Sinalizadores de tipo de pesquisa

DDENUMSURFACES_CANBECREATED

Enumera a primeira superfície que pode ser criada e atende ao critério de pesquisa. Esse sinalizador só pode ser usado com o sinalizador DDENUMSURFACES_MATCH.

DDENUMSURFACES_DOESEXIST

Enumera as superfícies já existentes que atendem ao critério de pesquisa.

Sinalizadores correspondentes

DDENUMSURFACES_ALL

Enumera todas as superfícies que atendem ao critério de pesquisa. Esse sinalizador só pode ser usado com o sinalizador de tipo de pesquisa DDENUMSURFACES_DOESEXIST.

DDENUMSURFACES_MATCH

Pesquisa qualquer superfície que corresponda à descrição da superfície.

DDENUMSURFACES_NOMATCH

Pesquisa qualquer superfície que não corresponda à descrição da superfície.

[in] unnamedParam2

Endereço de uma estrutura DDSURFACEDESC2 que define a superfície de interesse. Esse parâmetro poderá ser NULL se dwFlags incluir o sinalizador DDENUMSURFACES_ALL.

[in] unnamedParam3

Endereço de uma estrutura definida pelo aplicativo a ser passada para cada membro de enumeração.

[in] unnamedParam4

Endereço da função EnumSurfacesCallback7 que o procedimento de enumeração chama sempre que uma correspondência é encontrada.

Retornar valor

Se o método for bem-sucedido, o valor retornado será DD_OK.

Se falhar, o método poderá retornar um dos seguintes valores de erro:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

Comentários

Se o sinalizador DDENUMSURFACES_CANBECREATED estiver definido, esse método tentará criar temporariamente uma superfície que atenda ao critério de pesquisa.

Quando você usa o sinalizador DDENUMSURFACES_DOESEXIST, a contagem de referência de uma superfície enumerada é incrementada. Se você não usar a superfície, use IDirectDrawSurface7::Release para liberá-la após cada enumeração. Se você usar a superfície, solte-a quando ela não for mais necessária.

Esse método difere de seus equivalentes em versões de interface anteriores, pois aceita um ponteiro para uma função EnumSurfacesCallback7 , em vez de uma função EnumSurfacesCallback ou EnumSurfacesCallback2 .

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho ddraw.h
Biblioteca Ddraw.lib
DLL Ddraw.dll

Confira também

IDirectDraw7