Método IDirectDrawSurface7::D eleteAttachedSurface (ddraw.h)
Desanexa uma ou mais superfícies anexadas.
Sintaxe
HRESULT DeleteAttachedSurface(
[in] DWORD unnamedParam1,
[in] LPDIRECTDRAWSURFACE7 unnamedParam2
);
Parâmetros
[in] unnamedParam1
Atualmente, não é usado e deve ser definido como 0.
[in] unnamedParam2
Um ponteiro para a interface IDirectDrawSurface7 para que o objeto DirectDrawSurface seja desanexado. Se esse parâmetro for NULL, todas as superfícies anexadas ficarão desanexadas.
Valor retornado
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_CANNOTDETACHSURFACE
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_SURFACELOST
- DDERR_SURFACENOTATTACHED
Comentários
DeleteAttachedSurface diminui a contagem de referência da superfície a ser desanexada. Se a contagem de referência da superfície a ser desanexada atingir 0, a superfície será perdida e removida da memória.
Anexos implícitos, aqueles formados por DirectDraw em vez do método IDirectDrawSurface7::AddAttachedSurface , não podem ser desanexados. Desanexar superfícies de uma cadeia de inversão pode alterar outras superfícies na cadeia. Se um buffer frontal for desanexado de uma cadeia de inversão, a próxima superfície na cadeia se tornará o buffer frontal e a superfície a seguir se tornará o buffer traseiro. Se um buffer traseiro for desanexado de uma cadeia, a superfície a seguir se tornará um buffer traseiro. Se uma superfície simples for desanexada de uma cadeia, a cadeia simplesmente se tornará mais curta. Se uma cadeia invertida tiver apenas duas superfícies e elas forem desanexadas, a cadeia será destruída e ambas as superfícies retornarão às designações anteriores.
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | ddraw.h |
Biblioteca | Ddraw.lib |
DLL | Ddraw.dll |