次の方法で共有


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)
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h (D3dkmddi.h を含む)
IRQL DISPATCH_LEVEL

関連項目

DXGKRNL_INTERFACE

DXGKCB_NOTIFY_INTERRUPT

dxgkCbQueueDpcする

DxgkDdiStartDevice