次の方法で共有


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

重要

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

DxgkDdiConnectDoorbell は、 以前に作成した doorbell オブジェクト をハードウェア キューに接続 (または再接続) します。

構文

DXGKDDI_CONNECTDOORBELL DxgkddiConnectdoorbell;

NTSTATUS DxgkddiConnectdoorbell(
  INOUT_PDXGKARG_CONNECTDOORBELL pArgs
)
{...}

パラメーター

pArgs

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

戻り値

DxgkDdiConnectDoorbell は、KMD が指定したハードウェア キューにドアベル オブジェクトを正常に接続できた場合に、STATUS_SUCCESSを返します。 通常、この呼び出しは失敗しません。ただし、返されるエラー コードは、GPU の紛失または停止した種類の回復不可能なシナリオから発生します。

注釈

UMD が D3DKMTConnectDoorbell を呼び出すと、OS は DxgkDdiConnectDoorbell を呼び出して、KMD で次の操作を実行できるようにします。

  • 物理的なドアベルの場所にマップされた CPU 仮想アドレスを指定します。
  • ハードウェア キュー オブジェクト、ドアベル オブジェクト、ドアベル物理アドレス、GPU スケジューラなどの間で必要な接続を行います。

この DDI から返された場合、KMD はこの物理アドレスを、この特定のハードウェア キュー用に予約済みと見なす必要があります。 ただし、OS にはドアベルの物理アドレスの一意性の要件はありません。 つまり、KMD は、ハードウェアの実装に応じて、複数の論理ドアベル/ハードウェア キューと同じ物理アドレスを共有することを選択できます。 たとえば、一部のハードウェアでは、1 つのハードウェア コンテキストのすべてのハードウェア キューに同じ物理アドレスを割り当てることを選択できます。 複数の論理ドアベルが同じ 4 KB の物理ページを共有していても、ページ内で一意のオフセットを使用する可能性があります。

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

要件

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

こちらもご覧ください

D3DKMTConnectDoorbell

DXGKARG_CONNECTDOORBELL

DxgkDdiCreateDoorbell

DxgkDdiDisconnectDoorbell