Partager via


HvCallStartVirtualProcessor

HvCallStartVirtualProcessor est une méthode de démarrage d’un processeur virtuel. Elle est fonctionnellement équivalente aux méthodes traditionnelles basées sur INIT, à ceci près que le VP peut commencer par un état de Registre souhaité.

Il s’agit de la seule méthode pour démarrer un VP dans une VTL non nulle.

Interface

HV_STATUS
HvCallStartVirtualProcessor(
   _In_ HV_PARTITION_ID PartitionId,
   _In_ HV_VP_INDEX VpIndex,
   _In_ HV_VTL TargetVtl,
   _In_ HV_INITIAL_VP_CONTEXT VpContext
   );

Code d’appel

0x0099 Simple

Paramètres d’entrée

Nom Offset Taille Informations fournies
PartitionId 0 8 Partition
VpIndex 8 4 VP d’index à démarrer. Pour récupérer l’index du VP à partir d’un ID APIC, utilisez HvGetVpIndexFromApicId.
TargetVtl 12 1 VTL cible
VpContext 16 224 Spécifie le contexte initial dans lequel le VP doit démarrer.

Valeurs de retour

Code d’état Condition d'erreur
HV_STATUS_ACCESS_DENIED Accès refusé
HV_STATUS_INVALID_PARTITION_ID L’ID de partition spécifié n’est pas valide.
HV_STATUS_INVALID_VP_INDEX Le processeur virtuel spécifié par HV_VP_INDEX n’est pas valide.
HV_STATUS_INVALID_REGISTER_VALUE La valeur de Registre spécifiée n’est pas valide.
HV_STATUS_INVALID_VP_STATE Un processeur virtuel n’est pas dans l’état attendu pour effectuer l’opération indiquée.
HV_STATUS_INVALID_PARTITION_STATE La partition spécifiée n’est pas dans l’état « actif ».
HV_STATUS_INVALID_VTL_STATE L’état du VTL est en conflit avec l’opération demandée.

Voir aussi

HV_INITIAL_VP_CONTEXT