HvCallStartVirtualProcessor
HvCallStartVirtualProcessor é um método habilitado para iniciar um processador virtual. É funcionalmente equivalente aos métodos tradicionais baseados em INIT, exceto pelo fato de que o VP pode começar com um estado de registro desejado.
Esse é o único método para iniciar um VP em uma VTL diferente de zero.
Interface
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 chamada
0x0099
Único
Parâmetros de Entrada
Nome | Deslocamento | Tamanho | Informações Fornecidas |
---|---|---|---|
PartitionId |
0 | 8 | Partição |
VpIndex |
8 | 4 | VP de índice a ser iniciado. Para obter o índice VP de uma ID APIC, use HvGetVpIndexFromApicId. |
TargetVtl |
12 | 1 | VTL de destino |
VpContext |
16 | 224 | Especifica o contexto inicial no qual o VP deve começar. |
Valores de retorno
Código de status | Condição de erro |
---|---|
HV_STATUS_ACCESS_DENIED |
Acesso negado |
HV_STATUS_INVALID_PARTITION_ID |
A ID da partição especificada é inválida. |
HV_STATUS_INVALID_VP_INDEX |
O processador virtual especificado por HV_VP_INDEX é inválido. |
HV_STATUS_INVALID_REGISTER_VALUE |
O valor do registro fornecido é inválido. |
HV_STATUS_INVALID_VP_STATE |
Um processador virtual não está no estado correto com relação ao desempenho da operação indicada. |
HV_STATUS_INVALID_PARTITION_STATE |
A partição especificada não está no estado “ativo”. |
HV_STATUS_INVALID_VTL_STATE |
O estado do VTL está em conflito com a operação solicitada. |