DXGKDDI_PROTECTED_CALLBACK コールバック関数 (dispmprt.h)

DxgkProtectedCallback コールバック ルーチンは、ディスプレイ ミニポート ドライバーによって実装され、ディスプレイ アダプターへのすべてのアクセスが妨げられたとき、保護された状態の間に DxgkCbExcludeAdapterAccess によって呼び出されます。

構文

DXGKDDI_PROTECTED_CALLBACK DxgkddiProtectedCallback;

void DxgkddiProtectedCallback(
  [in] IN_CONST_PVOID MiniportDeviceContext,
  [in] PVOID ProtectedCallbackContext,
  [in] NTSTATUS ProtectionStatus
)
{...}

パラメーター

[in] MiniportDeviceContext

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーの DxgkDdiAddDevice 関数は、以前は DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] ProtectedCallbackContext

DxgkCbExcludeAdapterAccess の以前の呼び出しで指定されたドライバー定義情報へのポインター。

[in] ProtectionStatus

ディスプレイ アダプターの保護状態の状態。 STATUS_SUCCESS場合、アダプターはアクセスから正常に保護されました。 エラー状態コードは、アダプターが保護されていないことを示します。

戻り値

なし

解説

DxgkProtectedCallback は、状態パラメーター ProtectionStatus で示されているように、ディスプレイ アダプターへのすべてのアクセスが停止された場合にのみ呼び出す必要があります。

ドライバーは、コールバック ルーチン中に次の条件が満たされていることを確認する必要があります。

  • デバイス上のすべての割り込みは無効になり、保留中の割り込みの残りはすべて処理されます。これには、CPU でキューに登録されている可能性がありますが、まだサービスが提供されていない DPC も含まれます。
  • すべての書き込み結合メモリとその他のキャッシュ関連の状態がフラッシュされました。
  • 発生した ACPI または BIOS/SMI イベントは、ハードウェアにアクセスしません。
  • リンク アダプターの状態構成では、すべてのアダプター間で一貫性が実現されます。
  • アダプターは、そのレジスタと表示モードを含め、 DxgkProtectedCallback ルーチンからのリターン時に発生する DMA バッファーを処理するための適切な状態で維持されます。 ドライバーは、アプリケーションの表示状態または機能を変更しないでください。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header dispmprt.h (Dispmprt.h を含む)
IRQL PASSIVE_LEVEL

こちらもご覧ください

DxgkCbExcludeAdapterAccess