Aktivace datových typů

Datové typy triggeru popisují typ triggeru, akci, která doručí do oddílu, a popisovač použitý k jeho identifikaci.

Syntaxe

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;

Členové

WHV_TRIGGER_TYPE

Identifikuje druh akce, která trigger doručí, když je událost signalována.

WHvTriggerTypeInterrupt

Vloží virtuální přerušení popsané strukturou WHV_INTERRUPT_CONTROL . Tento typ triggeru je k dispozici pouze na platformě x64.

WHvTriggerTypeSynicEvent

Nastaví příznak události syntetického kontroleru přerušení (SynIC), který popisuje WHV_SYNIC_EVENT_PARAMETERS struktura.

WHvTriggerTypeDeviceInterrupt

Ověří přerušení zařízení (MSI) pro logické zařízení, které je přítomné v oddílu.

WHV_SYNIC_EVENT_PARAMETERS

Popisuje příznak události SynIC, který WHvTriggerTypeSynicEvent nastaví aktivační událost.

VpIndex

Určuje index virtuálního procesoru, který přijímá událost.

TargetSint

Určuje syntetický zdroj přerušení (SINT) pro signál.

TargetVtl

Určuje úroveň virtuální důvěryhodnosti, která přijímá událost. U triggerů musí být hodnota VTL 0.

FlagNumber

Určuje příznak události SynIC, který se má nastavit.

WHV_TRIGGER_PARAMETERS

Popisuje trigger: jeho typ a parametry akce, která doručí.

TriggerType

Určuje typ triggeru, který vybere aktivního člena sjednocení.

Reserved

Rezervovaný. Nastavte na hodnotu 0.

Interrupt

Určuje přerušení, které se má vložit, pokud TriggerType je WHvTriggerTypeInterrupt. Tento člen je k dispozici pouze na platformě x64. Viz WHvRequestInterrupt definice .WHV_INTERRUPT_CONTROL

SynicEvent

Určuje událost SynIC, která má signalizovat, kdy TriggerType je WHvTriggerTypeSynicEvent.

DeviceInterrupt

Určuje přerušení zařízení k uplatnění, pokud TriggerType je WHvTriggerTypeDeviceInterrupt. LogicalDeviceId identifikuje logické zařízení v oddílu a MsiAddressMsiData určí přerušení signálu zprávy, které se má doručit. Vnořené Reserved pole musí být nastaveno na hodnotu 0.

WHV_TRIGGER_HANDLE

Identifikuje objekt triggeru vytvořený objektem WHvCreateTrigger. Popisovač se předá WHvUpdateTriggerParameters do a WHvDeleteTrigger.

Remarks

WHV_TRIGGER_PARAMETERS se předá WHvCreateTrigger k vytvoření triggeru a k WHvUpdateTriggerParameters opětovnému cílení. Člen TriggerType vybere, který člen sjednocení je přečtený. Typ triggeru je opraven při vytváření a nelze ho změnit aktualizací.

WHvTriggerTypeInterrupt Interrupt a člena WHV_TRIGGER_PARAMETERS jsou k dispozici pouze na platformě x64.

Trigger WHvTriggerTypeDeviceInterrupt ověří přerušení logického zařízení, které již v oddílu existuje; zařízení musí být přítomné a jeho přerušení je namapováno – například prostřednictvím WHvMapVpciDeviceInterrupt – před signálem triggeru.

Viz také