HvCallStartVirtualProcessor
HvCallStartVirtualProcessor es un método ilustrado para iniciar un procesador virtual. Es funcionalmente equivalente a los métodos tradicionales basados en INIT, salvo que el VP puede comenzar con un estado de registro deseado.
Este es el único método para iniciar un VP en un VTL distinto de cero.
Interfaz
HV_STATUS
HvCallStartVirtualProcessor(
_In_ HV_PARTITION_ID PartitionId,
_In_ HV_VP_INDEX VpIndex,
_In_ HV_VTL TargetVtl,
_In_ HV_INITIAL_VP_CONTEXT VpContext
);
Código de llamada
0x0099
(Simple)
Parámetros de entrada
Nombre | Offset | Size | Información proporcionada |
---|---|---|---|
PartitionId |
0 | 8 | Partition |
VpIndex |
8 | 4 | Índice de VP que se inicia. Para obtener el índice de VP de un identificador de APIC, use HvGetVpIndexFromApicId. |
TargetVtl |
12 | 1 | VTL de destino |
VpContext |
16 | 224 | Especifica el contexto inicial en el que debe iniciarse el VP. |
Valores devueltos
status code | Condición de error |
---|---|
HV_STATUS_ACCESS_DENIED |
Acceso denegado |
HV_STATUS_INVALID_PARTITION_ID |
El identificador de partición especificado no es válido. |
HV_STATUS_INVALID_VP_INDEX |
El procesador virtual especificado por HV_VP_INDEX no es válido. |
HV_STATUS_INVALID_REGISTER_VALUE |
El valor de registro proporcionado no es válido. |
HV_STATUS_INVALID_VP_STATE |
Un procesador virtual no tiene el estado correcto para el rendimiento de la operación indicada. |
HV_STATUS_INVALID_PARTITION_STATE |
La partición especificada no tiene el estado "activo". |
HV_STATUS_INVALID_VTL_STATE |
El estado de VTL entra en conflicto con la operación solicitada. |