Метод 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 |