PDD_SURFCB_DESTROYSURFACE コールバック関数 (ddrawint.h)
DdDestroySurface コールバック関数は、DirectDraw サーフェスを破棄します。
構文
PDD_SURFCB_DESTROYSURFACE PddSurfcbDestroysurface;
DWORD PddSurfcbDestroysurface(
PDD_DESTROYSURFACEDATA unnamedParam1
)
{...}
パラメーター
unnamedParam1
サーフェス を破棄 するために必要な情報を含むDD_DESTROYSURFACEDATA構造体を指します。
戻り値
DdDestroySurface は 、次のいずれかのコールバック コードを返します。
解説
DirectDraw がサーフェス作成時にメモリ割り当てを行い、ドライバーが割り当てに関与していない場合、DirectDraw はドライバーの DdDestroySurface 関数を呼び出してサーフェスを破棄しません。
ドライバーがサーフェス メモリ管理自体を実行している場合、DdDestroySurface はサーフェス メモリを解放し、DD_SURFACE_GLOBALおよびDD_SURFACE_LOCAL構造体の dwReserved1 メンバーに格納されているプライベート データを解放するなど、その他のクリーンアップを実行する必要があります。
ドライバー管理サーフェスの場合、サーフェスが永続的である場合 (つまり、サーフェスの DDSCAPS2 構造体の dwCaps2 メンバーのDDSCAPS2_DONOTPERSIST フラグが設定されていない場合)、DdDestroySurface は、ビデオ メモリからサーフェスを削除する目的で呼び出すことができます。 この場合、ディスプレイ ドライバーは、DdDestroySurface が呼び出されてサーフェスを実際に破棄されるまで、dwReserved1 メンバー内のプライベート データを保持し続けることができます。
DdDestroySurface は、無効な PDEV を使用して呼び出すことができます。 PDEV は、ディスプレイ ドライバーの DrvAssertMode 関数を呼び出すことによって無効または有効になります。 詳細については、「 PDEV の管理」 を参照してください。
要件
対象プラットフォーム | デスクトップ |
Header | ddrawint.h (Winddi.h を含む) |