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 関数を呼び出した後、 Dxgkrnl はDxgkDdiSaveImmutableMigrationData を呼び出して、ターゲット側で復元するデバイスに関する情報を収集します。 このポイントは、システムがリモートの構成を検証する機会でもあります。そのため、 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 |