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 |