Compartilhar via


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

Confira também

IDirectDrawSurface7