DXGKDDI_DESTROYALLOCATION コールバック関数 (d3dkmddi.h)
DxgkDdiDestroyAllocation 関数は割り当てを解放します。
構文
DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;
NTSTATUS DxgkddiDestroyallocation(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}
パラメーター
[in] hAdapter
ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、以前、DxgkDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターで Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。
[in] pDestroyAllocation
割り当てを解放するための情報を含む DXGKARG_DESTROYALLOCATION 構造体へのポインター。
戻り値
DxgkDdiDestroyAllocation はSTATUS_SUCCESSを返します。割り当てが正常に解放されない場合は、適切なエラー結果が返されます。
注釈
ユーザー モードディスプレイ ドライバーが pfnDeallocateCb 関数を呼び出すと、DirectX グラフィックス カーネル サブシステム ( Dxgkrnl.sysの一部) は、ディスプレイ ミニポート ドライバーの DxgkDdiDestroyAllocation 関数を呼び出して割り当てを解放します。 ディスプレイ ミニポート ドライバーは、内部データ構造と割り当てへの参照をクリーンする必要があります。 Microsoft Direct3D ランタイムは、ビデオ メモリ マネージャー ( Dxgkrnl.sysの一部でもあります) への呼び出しを開始し、GPU スケジューラ ( Dxgkrnl.sysの一部でもあります) を呼び出して、ビデオ メモリが実際に解放される前に同期します。
ディスプレイ ミニポート ドライバーは、リソース全体と割り当てを解放できます。 リソースを解放する必要があるかどうかを判断するために、ディスプレイ ミニポート ドライバーは、pDestroyAllocation パラメーターが指すDXGKARG_DESTROYALLOCATION構造体の Flags メンバーに DestroyResource フラグが設定されているかどうかをチェックできます。 リソースを解放するには、ディスプレイ ミニポート ドライバーは、DXGKARG_DESTROYALLOCATIONの hResource メンバーが指定するハンドルをクリーンする必要があります。 ディスプレイ ミニポート ドライバーがリソースを解放しない場合、ドライバーは必要に応じて hResource の値を変更できます。
DxgkDdiDestroyAllocation を ページング可能にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |