次の方法で共有


DXGKDDI_DESTROYMEMORYBASIS コールバック関数 (d3dkmddi.h)

KMD の DxgkDdiDestroyMemoryBasis 関数は、 DxgkDdiCreateMemoryBasis の以前の呼び出しによって作成されたメモリベースを破棄します。

構文

DXGKDDI_DESTROYMEMORYBASIS DxgkddiDestroymemorybasis;

NTSTATUS DxgkddiDestroymemorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_HANDLE hMemoryBasis
)
{...}

パラメーター

hAdapter

[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 KMD は以前、DxgiDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを提供しました。

hMemoryBasis

破棄するメモリベースを処理します。 このハンドルは、 DxgkDdiCreateMemoryBasis の呼び出しによって以前に作成されました。

戻り値

DxgkDdiDestroyMemoryBasis は、メモリベースが正常に破棄された場合にSTATUS_SUCCESSを返します。 それ以外の場合は、NTSTATUS エラー コードを返します。 「解説」を参照してください。

Remarks

Dxgkrnl は、STATUS_SUCCESSされていない返された NTSTATUS を致命的なエラー通知の戻り値として解釈します。 この関数から成功以外のものを返す正しく機能するパスは存在しないはずです。これは、指定されたハンドルが作成されたもので、まだ破棄されていないものと想定されるためです。 KMD で不適切な入力が検出された場合、返されたエラー コードにより、 Dxgkrnl は ドライバーのクラッシュではなく、不変のエラーを OS カーネルに割り当てることができます。

詳細については、「 ダーティ ビット追跡」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 11バージョン 24H2 (WDDM 3.2)
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DxgkDdiCreateMemoryBasis