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 |