Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os tipos de dados do trigger descrevem o tipo de trigger, a ação que entrega a uma partição e o handle usado para o identificar.
Sintaxe
typedef UINT8 WHV_VTL;
typedef struct WHV_SYNIC_EVENT_PARAMETERS
{
UINT32 VpIndex;
UINT8 TargetSint;
WHV_VTL TargetVtl;
UINT16 FlagNumber;
} WHV_SYNIC_EVENT_PARAMETERS;
typedef enum WHV_TRIGGER_TYPE
{
#if defined(_AMD64_)
WHvTriggerTypeInterrupt = 0,
#endif
WHvTriggerTypeSynicEvent = 1,
WHvTriggerTypeDeviceInterrupt = 2,
} WHV_TRIGGER_TYPE;
typedef struct WHV_TRIGGER_PARAMETERS
{
WHV_TRIGGER_TYPE TriggerType;
UINT32 Reserved;
union
{
#if defined(_AMD64_)
WHV_INTERRUPT_CONTROL Interrupt;
#endif
WHV_SYNIC_EVENT_PARAMETERS SynicEvent;
struct
{
UINT64 LogicalDeviceId;
UINT64 MsiAddress;
UINT32 MsiData;
UINT32 Reserved;
} DeviceInterrupt;
};
} WHV_TRIGGER_PARAMETERS;
typedef PVOID WHV_TRIGGER_HANDLE;
Members
WHV_TRIGGER_TYPE
Identifica o tipo de ação que um gatilho realiza quando o seu evento é sinalizado.
WHvTriggerTypeInterrupt
Injeta uma interrupção virtual descrita por uma WHV_INTERRUPT_CONTROL estrutura. Este tipo de gatilho está disponível apenas em x64.
WHvTriggerTypeSynicEvent
Define um flag de evento de controlador de interrupções sintético (SynIC) descrito por uma WHV_SYNIC_EVENT_PARAMETERS estrutura.
WHvTriggerTypeDeviceInterrupt
Afirma uma interrupção de dispositivo (MSI) para um dispositivo lógico presente na partição.
WHV_SYNIC_EVENT_PARAMETERS
Descreve o flag de evento SynIC que um WHvTriggerTypeSynicEvent trigger ativa.
VpIndex
Especifica o índice do processador virtual que recebe o evento.
TargetSint
Especifica a fonte sintética de interrupção (SINT) a sinalizar.
TargetVtl
Especifica o nível de confiança virtual que recebe o evento. Para os gatilhos, isto deve ser VTL 0.
FlagNumber
Especifica o flag de evento SynIC a definir.
WHV_TRIGGER_PARAMETERS
Descreve um gatilho: o seu tipo e os parâmetros da ação que executa.
TriggerType
Especifica o tipo de gatilho, que seleciona o membro ativo da união.
Reserved
Reservado. Definir para 0.
Interrupt
Especifica a interrupção para injetar quando TriggerType é WHvTriggerTypeInterrupt. Este membro está disponível apenas na x64. Veja WHvRequestInterrupt para a definição de WHV_INTERRUPT_CONTROL.
SynicEvent
Especifica o evento SynIC para sinalizar quando TriggerType é WHvTriggerTypeSynicEvent.
DeviceInterrupt
Especifica a interrupção do dispositivo para afirmar quando TriggerType é WHvTriggerTypeDeviceInterrupt.
LogicalDeviceId identifica o dispositivo lógico na partição e MsiAddressMsiData especifica a interrupção sinalizada por mensagem a entregar. O corpo aninhado Reserved deve ser definido como 0.
WHV_TRIGGER_HANDLE
Identifica um objeto gatilho criado por WHvCreateTrigger. A pega é passada para WHvUpdateTriggerParameters e WHvDeleteTrigger.
Remarks
WHV_TRIGGER_PARAMETERS é passado para WHvCreateTrigger criar um gatilho e para WHvUpdateTriggerParameters redirecionar um. O TriggerType membro seleciona qual membro da união é lido; o tipo de gatilho é fixo na altura da criação e não pode ser alterado por uma atualização.
WHvTriggerTypeInterrupt e o Interrupt membro de WHV_TRIGGER_PARAMETERS estão disponíveis apenas em x64.
Um WHvTriggerTypeDeviceInterrupt trigger afirma uma interrupção para um dispositivo lógico que já existe na partição; o dispositivo deve estar presente e a sua interrupção mapeada — por exemplo, através WHvMapVpciDeviceInterrupt — antes de o trigger ser sinalizado.