IDirectDrawSurface7::Restore 方法 (ddraw.h)
还原已丢失的图面。 当释放与 DirectDrawSurface 对象关联的表面内存时,将发生这种情况。
语法
HRESULT Restore();
返回值
如果方法成功,则返回值DD_OK。
如果失败,方法可能会返回以下错误值之一:
- DDERR_GENERIC
- DDERR_IMPLICITLYCREATED
- DDERR_INCOMPATIBLEPRIMARY
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOEXCLUSIVEMODE
- DDERR_OUTOFMEMORY
- DDERR_UNSUPPORTED
- DDERR_WRONGMODE
注解
还原 会还原为图面分配的内存,但不会重新加载在表面丢失之前可能存在的任何位图。
由于图形适配器的模式已更改,或者应用程序接收了对图形适配器的独占访问权限并释放了当前在适配器上分配的所有表面内存,因此表面可能会丢失。 当 DirectDrawSurface 对象失去其表面内存时,许多方法将返回DDERR_SURFACELOST并且不执行其他函数。 IDirectDrawSurface7::Restore 方法重新分配 Surface 内存并将其重新附加到 DirectDrawSurface 对象。
对 Restore 的单个调用可还原 DirectDrawSurface 对象的关联隐式表面 (后台缓冲区,等等) 。 尝试还原隐式创建的图面会导致错误。 还原 不适用于使用 IDirectDrawSurface7::AddAttachedSurface 方法创建的显式附件 ,必须单独还原其中每个图面。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | ddraw.h |
Library | Ddraw.lib |
DLL | Ddraw.dll |