次の方法で共有


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 を含む)

関連項目

DDSCAPS2

DD_DESTROYSURFACEDATA

DdCreateSurface