Platform SDK: DirectX |
IDirectDrawSurface7::Restore メソッドは、消失されたサーフェスをリストアする。これは、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 メソッドは、サーフェス メモリを割り当て直し、DirectDrawSurface オブジェクトに再度アタッチする。
このメソッドの単一の呼び出しを行うと、DirectDrawSurface オブジェクトの関連付けられている暗黙的なサーフェス (バック バッファなど) がリストアされる。暗黙的に作成されたサーフェスをリストアしようとすると、エラーが発生する。IDirectDrawSurface7::Restore は、IDirectDrawSurface7::AddAttachedSurface メソッドによる明示的なアタッチに対しては作用しない。つまり、これらのサーフェスは個別にリストアしなければならない。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 98 が必要。
ヘッダー : ddraw.h で宣言。