LPD3DHAL_CONTEXTDESTROYCB コールバック関数 (d3dhal.h)
D3dContextDestroy 関数は、指定したコンテキストを削除します。
構文
LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;
DWORD Lpd3dhalContextdestroycb(
LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}
パラメーター
unnamedParam1
pcdd の [入力]
ドライバーがコンテキストを破棄するために必要な情報を含む 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 の管理」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dhal.h (D3dhal.h を含む) |
関連項目
D3dContextCreate の