HvCallStartVirtualProcessor

HvCallStartVirtualProcessor ist eine wichtige Methode zum Starten eines virtuellen Prozessors. Sie entspricht funktional herkömmlichen INIT-basierten Methoden, mit der Ausnahme, dass der VP mit einem gewünschten Registerzustand beginnen kann.

Dies ist die einzige Methode zum Starten eines VP in einer VTL,die nicht 0 (null) ist.

Schnittstelle

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

Aufrufcode

0x0099 (Einfach)

Eingabeparameter

Name Offset Size Informationen bereitgestellt
PartitionId 0 8 Partition
VpIndex 8 4 VP-Index zum Starten. Verwenden Sie HvGetVpIndexFromApicId, um den VP-Index aus einer APIC-ID zu erhalten.
TargetVtl 12 1 Ziel-VTL
VpContext 16 224 Gibt den Anfangskontext an, in dem der VP gestartet werden soll.

Rückgabewerte

Statuscode Fehlerbedingung
HV_STATUS_ACCESS_DENIED Zugriff verweigert.
HV_STATUS_INVALID_PARTITION_ID Die angegebene Partitions-ID ist ungültig.
HV_STATUS_INVALID_VP_INDEX Der von der -HV_VP_INDEX angegebene virtuelle Prozessor ist ungültig.
HV_STATUS_INVALID_REGISTER_VALUE Der angegebene Registerwert ist ungültig.
HV_STATUS_INVALID_VP_STATE Ein virtueller Prozessor befindet sich nicht im richtigen Zustand für die Leistung des angegebenen Vorgangs.
HV_STATUS_INVALID_PARTITION_STATE Die angegebene Partition befindet sich nicht im Status „Aktiv“.
HV_STATUS_INVALID_VTL_STATE Der VTL-Status weist einen Konflikt mit dem angeforderten Vorgang auf.

Siehe auch

HV_INITIAL_VP_CONTEXT