次の方法で共有


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

カーネル モードディスプレイ ミニポート ドライバーは 、遅延 プロシージャ 呼び出し (DPC) 時にグラフィックス ハードウェアの更新プログラムについてグラフィックス処理装置 (GPU) スケジューラに通知するDXGKCB_NOTIFY_DPCを呼び出します。

構文

DXGKCB_NOTIFY_DPC DxgkcbNotifyDpc;

void DxgkcbNotifyDpc(
  [in] IN_CONST_HANDLE hAdapter
)
{...}

パラメーター

[in] hAdapter

GPU のアダプター オブジェクトへのハンドル。 ドライバーは、DxgkDdiStartDevice 関数の呼び出しで、DXGKRNL_INTERFACE構造体の DeviceHandle メンバーからハンドルを受け取ります。

戻り値

なし

解説

ディスプレイ ミニポート ドライバーの DPC コールバック ルーチンは グラフィックス ハードウェアへのダイレクト メモリ アクセス (DMA) ストリームを介してフェンスへの更新について GPU スケジューラに通知するDXGKCB_NOTIFY_DPCを呼び出します。

DXGKCB_XXX 関数は Dxgkrnl によって実装されます。 このコールバック関数を使用するには、DXGKRNL_INTERFACEを介して DxgkCbNotifyDpc を呼び出します。

次のコード例は、DMA または V-Sync 割り込みについて GPU スケジューラに通知する方法を示しています。

NTSTATUS
D3DDDINotifyDPC(
    HW_DEVICE_EXTENSION  *pAdapter)
{
    DXGKRNL_INTERFACE  *pCallback;
    DXGKCB_NOTIFY_DPC  DxgkCbNotifyDpc;

    pCallback = &(pAdapter->ddiCallback);

    if (! pAdapter->pVidSchDPCCB) {
        return (STATUS_SUCCESS);
    }

    DxgkCbNotifyDpc = (DXGKCB_NOTIFY_DPC)pAdapter->pVidSchDPCCB;

    DxgkCbNotifyDpc(pAdapter->DeviceHandle);

    return (STATUS_SUCCESS);
}

要件

要件
サポートされている最小のクライアント Windows Vista (WDDM 1.0)
対象プラットフォーム デスクトップ
Header d3dkmddi.h (D3dkmddi.h を含む)
IRQL DISPATCH_LEVEL

こちらもご覧ください

DXGKRNL_INTERFACE

DXGKCB_NOTIFY_INTERRUPT

DxgkCbQueueDpc

DxgkDdiStartDevice