HvCallStartVirtualProcessor
HvCallStartVirtualProcessor è un metodo con supporto per l'avvio di un processore virtuale. Dal punto di vista funzionale è equivalente ai metodi tradizionali basati su INIT, ad eccezione del fatto che il punto di distribuzione virtuale può iniziare con uno stato di registrazione desiderato.
Questo è l'unico metodo per avviare un VP in una VTL diverso da zero.
Interfaccia
HV_STATUS
HvCallStartVirtualProcessor(
_In_ HV_PARTITION_ID PartitionId,
_In_ HV_VP_INDEX VpIndex,
_In_ HV_VTL TargetVtl,
_In_ HV_INITIAL_VP_CONTEXT VpContext
);
Codice di chiamata
0x0099
(Semplice)
Parametri di input
Nome | Offset | Dimensione | Informazioni fornite |
---|---|---|---|
PartitionId |
0 | 8 | Partition |
VpIndex |
8 | 4 | Indice VP da avviare. Per ottenere l'indice VP da un ID APIC, usare HvGetVpIndexFromApicId. |
TargetVtl |
12 | 1 | VTL di destinazione |
VpContext |
16 | 224 | Specifica il contesto iniziale in cui deve essere avviato il punto di distribuzione virtuale. |
Valori restituiti
Codice stato | Condizione di errore |
---|---|
HV_STATUS_ACCESS_DENIED |
Accesso negato |
HV_STATUS_INVALID_PARTITION_ID |
L'ID di partizione specificato non è valido. |
HV_STATUS_INVALID_VP_INDEX |
Il processore virtuale specificato da HV_VP_INDEX non è valido. |
HV_STATUS_INVALID_REGISTER_VALUE |
Il valore del registro specificato non è valido. |
HV_STATUS_INVALID_VP_STATE |
Un processore virtuale non è nello stato corretto per le prestazioni dell'operazione indicata. |
HV_STATUS_INVALID_PARTITION_STATE |
La partizione specificata non è nello stato "attivo". |
HV_STATUS_INVALID_VTL_STATE |
Lo stato VTL è in conflitto con l'operazione richiesta. |