Tipos de dados de gatilho

Os tipos de dados de gatilho descrevem o tipo de gatilho, a ação que ele fornece a uma partição e o identificador usado para identificá-lo.

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 fornece quando seu evento é sinalizado.

WHvTriggerTypeInterrupt

Injeta uma interrupção virtual descrita por uma WHV_INTERRUPT_CONTROL estrutura. Esse tipo de gatilho só está disponível no x64.

WHvTriggerTypeSynicEvent

Define um sinalizador de evento SynIC (controlador de interrupção sintético) descrito por uma WHV_SYNIC_EVENT_PARAMETERS estrutura.

WHvTriggerTypeDeviceInterrupt

Declara uma interrupção de dispositivo (MSI) para um dispositivo lógico que está presente na partição.

WHV_SYNIC_EVENT_PARAMETERS

Descreve o sinalizador de evento SynIC que um WHvTriggerTypeSynicEvent gatilho define.

VpIndex

Especifica o índice do processador virtual que recebe o evento.

TargetSint

Especifica a SINT (fonte de interrupção sintética) para sinalizar.

TargetVtl

Especifica o nível de confiança virtual que recebe o evento. Para gatilhos, isso deve ser VTL 0.

FlagNumber

Especifica o sinalizador de evento SynIC a ser definido.

WHV_TRIGGER_PARAMETERS

Descreve um gatilho: seu tipo e os parâmetros da ação que ele fornece.

TriggerType

Especifica o tipo de gatilho, que seleciona o membro ativo da união.

Reserved

Reservado. Definido como 0.

Interrupt

Especifica a interrupção a ser injetada quando TriggerType for WHvTriggerTypeInterrupt. Esse membro só está disponível no x64. Consulte WHvRequestInterrupt a definição de WHV_INTERRUPT_CONTROL.

SynicEvent

Especifica o evento SynIC para sinalizar quando TriggerType for WHvTriggerTypeSynicEvent.

DeviceInterrupt

Especifica a interrupção do dispositivo a ser declarada quando TriggerType for WHvTriggerTypeDeviceInterrupt. LogicalDeviceId identifica o dispositivo lógico na partição e especifica MsiAddressMsiData a interrupção sinalizada por mensagem a ser entregue. O campo aninhado Reserved deve ser definido como 0.

WHV_TRIGGER_HANDLE

Identifica um objeto de gatilho criado por WHvCreateTrigger. O identificador é passado 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 é corrigido no momento da criação e não pode ser alterado por uma atualização.

WHvTriggerTypeInterrupt e o Interrupt membro do WHV_TRIGGER_PARAMETERS qual estão disponíveis somente em x64.

Um WHvTriggerTypeDeviceInterrupt gatilho declara uma interrupção para um dispositivo lógico que já existe na partição; o dispositivo deve estar presente e sua interrupção mapeada , por exemplo, por meio de um dispositivo lógico que já existe na partição; o dispositivo deve estar presente e sua interrupção mapeada , por exemplo, por meio WHvMapVpciDeviceInterrupt de – antes que o gatilho seja sinalizado.

Consulte também