LPD3DHAL_CONTEXTDESTROYCB コールバック関数 (d3dhal.h)
D3dContextDestroy 関数は、指定したコンテキストを削除します。
構文
LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;
DWORD Lpd3dhalContextdestroycb(
LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}
パラメーター
unnamedParam1
pcdd [in]
ドライバー がコンテキスト を破棄するために必要な情報を含むD3DHAL_CONTEXTDESTROYDATA構造体を指します。
戻り値
D3dContextDestroy は 、次のいずれかのコールバック コードを返します。
注釈
すべての Microsoft Direct3D ドライバーで D3dContextDestroy がサポートされている必要があります。
ドライバーは、削除されるコンテキストに割り当てられたすべてのリソースを解放する必要があります。 たとえば、ドライバーは、コンテキストに関連付けられている次のリソースを解放する必要があります。
ドライバーは、アプリケーションまたは Direct3D ランタイム要求に応答して DirectDraw によって解放されるため、コンテキストに関連付けられている Microsoft DirectDraw サーフェスを解放しないでください。D3dContextCreate が呼び出されたときに、ドライバーがD3DHAL_CONTEXTCREATEDATA構造体の lpDDLcl メンバーとして渡されたDD_DIRECTDRAW_LOCAL構造体へのポインターをキャッシュした場合、D3dContextDestroy が呼び出される前にポインターが無効になる可能性があります。 したがって、 D3dContextDestroy は、アクセス違反が発生したり、ランダムなデータが返されたりする可能性があるため、このDD_DIRECTDRAW_LOCAL ポインターを逆参照しないでください。 たとえば、ドライバーの D3dDestroyDDLocal 関数が D3dContextDestroy の前に呼び出された場合、オペレーティング システムは D3dContextDestroy 呼び出しの前にこのDD_DIRECTDRAW_LOCALポインターを解放します。
D3dContextDestroy は、無効な PDEV を使用して呼び出すことができます。 PDEV は、ディスプレイ ドライバーの DrvAssertMode 関数を呼び出すことによって無効または有効になります。 詳細については、「 PDEV の管理」 を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | d3dhal.h (D3dhal.h を含む) |