Поделиться через


Метод IDirectDrawSurface7::D eleteAttachedSurface (ddraw.h)

Отсоединяет одну или несколько присоединенных поверхностей.

Синтаксис

HRESULT DeleteAttachedSurface(
  [in] DWORD                unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2
);

Параметры

[in] unnamedParam1

В настоящее время не используется и должен иметь значение 0.

[in] unnamedParam2

Указатель на интерфейс IDirectDrawSurface7 для отсоединяемого объекта DirectDrawSurface. Если этот параметр имеет значение NULL, все присоединенные поверхности отсоединяются.

Возвращаемое значение

Если метод выполнен успешно, возвращаемое значение будет DD_OK.

В случае сбоя метод может вернуть одно из следующих значений ошибки:

  • DDERR_CANNOTDETACHSURFACE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST
  • DDERR_SURFACENOTATTACHED

Комментарии

DeleteAttachedSurface уменьшает количество ссылок на отсоединяемую поверхность. Если число ссылок отсоединяемой поверхности достигает 0, поверхность теряется и удаляется из памяти.

Неявные вложения, сформированные методом DirectDraw, а не методом IDirectDrawSurface7::AddAttachedSurface , не могут быть отсоединяться. Отсоединение поверхностей от переворачивающейся цепочки может изменить другие поверхности в цепочке. Если передний буфер отсоединен от переворачиваемой цепочки, следующая поверхность в цепочке становится передним буфером, а следующая поверхность — задним буфером. Если задний буфер отсоединен от цепочки, следующая поверхность становится задним буфером. Если простая поверхность отсоединяется от цепи, цепочка просто становится короче. Если переворачиваемая цепочка имеет только две поверхности и они отсоединяются, цепочка разрушается, и обе поверхности возвращаются к прежним обозначениям.

Требования

   
Целевая платформа Windows
Header ddraw.h
Библиотека Ddraw.lib
DLL Ddraw.dll

См. также раздел

IDirectDrawSurface7