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


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

Задает характеристики существующей поверхности.

Синтаксис

HRESULT SetSurfaceDesc(
  [in] LPDDSURFACEDESC2 unnamedParam1,
  [in] DWORD            unnamedParam2
);

Параметры

[in] unnamedParam1

Указатель на структуру DDSURFACEDESC2 , содержащую новые характеристики поверхности.

[in] unnamedParam2

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

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

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

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

  • DDERR_INVALIDPARAMS
  • DDERR_INVALIDOBJECT
  • DDERR_SURFACELOST
  • DDERR_SURFACEBUSY
  • DDERR_INVALIDSURFACETYPE
  • DDERR_INVALIDPIXELFORMAT
  • DDERR_INVALIDCAPS
  • DDERR_UNSUPPORTED
  • DDERR_GENERIC

Комментарии

В настоящее время setSurfaceDesc можно использовать только для задания формата данных и пикселей поверхности, который используется явной поверхностью системной памяти. Это полезно, так как позволяет поверхности использовать данные из ранее выделенного буфера без копирования. Новая память surface выделяется клиентским приложением, поэтому клиентское приложение должно также освободить ее.

Объект DirectDrawSurface не освобождает память поверхности, которую он не выделяет. Поэтому, когда память surface больше не требуется, ее необходимо освободить. Однако при вызове SetSurfaceDesc DirectDraw освобождает исходную память поверхности, которая была неявно выделена при создании поверхности.

Требования

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

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

IDirectDrawSurface7