DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiSaveImmutableMigrationData de KMD enregistre les données immuables pour une migration dynamique qui est sur le point de commencer.
Syntaxe
DXGKDDI_SAVEIMMUTABLEMIGRATIONDATA DxgkddiSaveimmutablemigrationdata;
NTSTATUS DxgkddiSaveimmutablemigrationdata(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA pArgs
)
{...}
Paramètres
hAdapter
[in] Handle d’un bloc de contexte associé à un adaptateur d’affichage. Le pilote miniport d’affichage a précédemment fourni ce handle à Dxgkrnl dans le paramètre de sortie MiniportDeviceContext de la fonction DXGKDDI_ADD_DEVICE .
pArgs
[entrée/sortie] Pointeur vers une structure de DXGKARG_GPUP_SAVE_IMMUTABLE_MIGRATION_DATA pour obtenir des informations relatives à l’appel.
Valeur retournée
DxgkDdiSaveImmutableMigrationData retourne STATUS_SUCCESS si l’appel réussit. Sinon, elle retourne un code NTSTATUS approprié.
Remarques
Après avoir appelé la fonction DxgkDdiPrepareLiveMigration de KMD, Dxgkrnl appelleensuite DxgkDdiSaveImmutableMigrationData pour collecter des informations sur l’appareil à restaurer côté cible. Ce point est également l’occasion pour le système de valider la configuration du distant. DxgkDdiSaveImmutableMigrationData doit donc empaqueter suffisamment d’informations pour valider les données de validation de matériel, de microprogramme ou de pilote pouvant détecter la capacité de déplacer la machine virtuelle sur la configuration cible.
Le pilote doit stocker les données relatives à la VF qui ne changeront pas pendant qu’elle est active et que le KMD de la cible peut utiliser pour aider à initialiser la nouvelle VF. Ces données n’ont pas besoin d’inclure les paramètres de création de processeurs virtuels, car ceux-ci seront transférés dans des niveaux inférieurs et utilisés pour créer le processeur virtuel à l’aide de la DDI normale. Cela peut inclure toutes les données qui sont immuablement liées à la VF et qui n’ont pas besoin d’être restaurées du côté cible. Les données peuvent être envoyées uniquement à des fins de validation, ce qui est un élément essentiel de cette interface.
DxgkDdiSaveImmutableMigrationData est appelé dans le modèle de mémoire tampon dynamique classique :
- Lors du premier appel, DataSize est défini sur 0 et Data sur NULL. KMD doit remplacer DataSize par le nombre total d’octets dont il a besoin pour stocker les données immuables.
- Dxgkrnl crée une mémoire tampon d’octets DataSize et effectue un deuxième appel avec DataSize défini sur la valeur retournée par KMD et Data pointant vers la mémoire tampon allouée. Dxgkrnl contrôle la durée de vie de cette mémoire allouée après l’appel.
DxgkDdiSaveMutableMigrationData est appelé à la fin d’une migration dynamique pour collecter des données mutables.
Pour plus d’informations, consultez Migration dynamique sur des appareils GPU-P.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 11, version 24H2 (WDDM 3.2) |
En-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |