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 会释放它在创建图面时隐式分配的原始 Surface 内存。

要求

要求
目标平台 Windows
标头 ddraw.h
Library Ddraw.lib
DLL Ddraw.dll

另请参阅

IDirectDrawSurface7