次の方法で共有


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

KMD の DxgkDdiSaveImmutableMigrationData 関数は、開始しようとしているライブ マイグレーション用の不変データを保存します。

構文

DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;

NTSTATUS DxgkddiSaveimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}

パラメーター

hAdapter

[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DXGKDDI_ADD_DEVICE関数のMiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを以前に提供しました。

pArgs

[入力/出力]呼び出 に関連する情報のDXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA構造体へのポインター。

戻り値

DxgkDdiSaveImmutableMigrationData は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS コードを返します。

注釈

KMD の DxgkDdiPrepareLiveMigration 関数を呼び出した後、 DxgkrnlDxgkDdiSaveImmutableMigrationData を呼び出して、ターゲット側で復元するデバイスに関する情報を収集します。 このポイントは、システムがリモートの構成を検証する機会でもあります。そのため、 DxgkDdiSaveImmutableMigrationData は、VF をターゲット構成に移動する機能を検出できるハードウェア、ファームウェア、またはドライバー検証データを検証するのに十分な情報をパッケージ化する必要があります。

ドライバーは、ターゲットの KMD が新しい VF の初期化に使用できる、アクティブな間は変更されない VF に関するデータを格納する必要があります。 これらのデータは下位レベルで転送され、通常の DDI を使用して vGPU を作成するために使用されるため、このデータには vGPU 作成パラメーターを含める必要はありません。 これには、VF に不変に関連付けられているすべてのデータを含めることができます。ターゲット側ですべてのデータを復元する必要はありません。 データは、このインターフェイスの重要な部分である検証目的で純粋に送信できます。

DxgkDdiSaveImmutableMigrationData は、クラシック動的バッファー パターンで呼び出されます。

  • 最初の呼び出しでは、 DataSize は 0 に、 Data は NULL に設定されます。 KMD は、変更できないデータを格納するために必要な合計バイト数に DataSize を変更する必要があります。
  • Dxgkrnl はDataSize バイトのバッファーを作成し、割り当てられたバッファーを指す KMD と Data によって返される値に DataSize が設定された 2 回目の呼び出しを行います。 Dxgkrnl は 、呼び出し後に割り当てられたこのメモリの有効期間を制御します。

DxgkDdiSaveMutableMigrationData は、ライブ マイグレーションの最後に呼び出され、変更可能なデータを収集します。

詳細については、「 GPU-P デバイスでのライブ マイグレーション」を参照してください。

要件

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

こちらもご覧ください

DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA

DxgkDdiPrepareLiveMigration

DxgkDdiSaveMutableMigrationData