次の方法で共有


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

重要

一部の情報はプレリリース製品に関連しており、商用リリース前に大幅に変更される可能性があります。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。

DxgkDdiDisconnectDoorbell 関数は、以前に接続されたドアベルをハードウェア キューから切断します。

構文

DXGKDDI_DISCONNECTDOORBELL DxgkddiDisconnectdoorbell;

NTSTATUS DxgkddiDisconnectdoorbell(
  INOUT_PDXGKARG_DISCONNECTDOORBELL pArgs
)
{...}

パラメーター

pArgs

[入力/出力]切断するドアベルを記述する DXGKARG_DISCONNECTDOORBELL 構造体へのポインター。

戻り値

DxgkDdiDisconnectDoorbell は成功し、STATUS_SUCCESSを返す必要があります。

注釈

OS は DxgkDdiDisconnectDoorbell を呼び出して、このドアベルに割り当てられた物理的なドアベルの場所のマップを解除します。 KMD では、ハードウェア キュー、ドアベル物理アドレス、エンジンなどを切断する必要があります。物理的なドアベルの位置は、他の論理ドアベル オブジェクトに割り当てることができます。

kmd は、ドアベル オブジェクトが破棄されず、後で再接続できるため、 hDoorbell に関連付けられている他のオブジェクトを破棄したり解放したりしないでください。

この DDI 呼び出しから戻ると、 Dxgkrnl はドアベルを切断するために次の手順を実行します。

  • UMD が物理的なドアベルの場所に書き込めなくなったように、ユーザー モードの DoorbellCpuVirtualAddress をダミー ページに回転させます。
  • D3DDDI_DOORBELL_STATUS_DISCONNECTED_RETRYを DoorbellStatusCpuVirtualAddress に書き込み、UMD がドアベルが切断されていることを認識します。

詳細については、「 ユーザー モードの作業の送信」を参照してください。

要件

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

こちらもご覧ください

D3DDDI_DOORBELLSTATUS

D3DKMT_CREATE_DOORBELL

DXGKARG_DISCONNECTDOORBELL

DxgkDdiConnectDoorbell

DxgkDdiDisconnectDoorbellCB