次の方法で共有


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

受信側 OS は DxgkDdiRestoreImmutableMigrationData 呼び出して、以前の呼び出しで送信側ドライバーによって保存された変更できないデータ DxgkDdiSaveImmutableMigrationDataに復元します。

構文

DXGKDDI_RESTOREIMMUTABLEMIGRATIONDATA DxgkddiRestoreimmutablemigrationdata;

NTSTATUS DxgkddiRestoreimmutablemigrationdata(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}

パラメーター

hAdapter

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

pArgs

[in]変更できないデータを復元するために必要な情報を含む DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA 構造体へのポインター。

戻り値

DxgkDdiRestoreImmutableMigrationData は、呼び出しが成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、STATUS_OBJECT_TYPE_MISMATCHエラー コードなどの適切な NTSTATUS コードが返されます (「解説」を参照)。

備考

2 回呼び出される保存/送信側とは異なり、DxgkDdiRestoreImmutableMigrationData は、受信側 KMD に完全なデータ バッファーを提示するために必要なすべてのデータがあるため、1 回だけ呼び出されます。 ドライバーは、データを取得し、構築中の VF に適用する必要があります。また、その追跡も行う必要があります。また、復元を成功させるために必要なデータ不変性を検証する必要があります。

バッファーは、ソース側 DxgkDdiSaveImmutableMigrationDataで入力されたコンテンツであるため、KMD は共通の型でそのデータを追跡する必要があります。 データが新しいドライバーで変更する必要がある可能性があり、このスキームがターゲットで行われるバージョン チェックの一部である必要がある場合は、コンテンツ データにバージョン管理スキームが実装されている必要もあります。

ソースから VF を移行するようにターゲット システムが正しく構成されていないことがデータに示されている場合、KMD は次の操作を行う必要があります。

  1. この問題は、DxgkCbLogEtwEvent を通じて、GUID_DxgkAzureTriageEvent識別子と検証に失敗した内容に関する具体的な詳細を報告して、問題をトリアージして修正できるようにします。
  2. この DDI 呼び出しから、STATUS_OBJECT_TYPE_MISMATCH エラーで戻ります。

DxgkDdiRestoreImmutableMigrationData は、現在一時停止されている VM に対してのみ呼び出す必要があります。

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

必要条件

要件 価値
サポートされる最小クライアント Windows 11 バージョン 24H2 (WDDM 3.2)
ヘッダー d3dkmddi.h
IRQL PASSIVE_LEVEL

関連項目

DXGKARG_GPUP_RESTORE_IMMUTABLE_MIGRATION_DATA

DxgkDdiSaveImmutableMigrationDataする