Gegevenstypen activeren

De triggergegevenstypen beschrijven het type van een trigger, de actie die wordt geleverd aan een partitie en de ingang die wordt gebruikt om deze te identificeren.

Syntaxis

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;

Leden

WHV_TRIGGER_TYPE

Identificeert het soort actie dat een trigger levert wanneer de gebeurtenis wordt gesignaleerd.

WHvTriggerTypeInterrupt

Injecteert een virtuele interrupt die wordt beschreven door een WHV_INTERRUPT_CONTROL structuur. Dit triggertype is alleen beschikbaar op x64.

WHvTriggerTypeSynicEvent

Hiermee stelt u een synIC-gebeurtenisvlag (synthetische interrupt controller) in die wordt beschreven door een WHV_SYNIC_EVENT_PARAMETERS structuur.

WHvTriggerTypeDeviceInterrupt

Hiermee wordt een msi-interrupt (device) voor een logisch apparaat dat aanwezig is in de partitie, gecontroleerd.

WHV_SYNIC_EVENT_PARAMETERS

Beschrijft de SynIC-gebeurtenisvlag die door een WHvTriggerTypeSynicEvent trigger wordt ingesteld.

VpIndex

Hiermee geeft u de index van de virtuele processor die de gebeurtenis ontvangt.

TargetSint

Hiermee geeft u de synthetische interruptbron (SINT) om te signaleren.

TargetVtl

Hiermee geeft u het niveau van de virtuele vertrouwensrelatie op dat de gebeurtenis ontvangt. Voor triggers moet dit VTL 0 zijn.

FlagNumber

Hiermee geeft u de SynIC-gebeurtenisvlag op die moet worden ingesteld.

WHV_TRIGGER_PARAMETERS

Beschrijft een trigger: het type en de parameters van de actie die wordt geleverd.

TriggerType

Hiermee geeft u het triggertype op, dat het actieve lid van de vereniging selecteert.

Reserved

Gereserveerd. Ingesteld op 0.

Interrupt

Hiermee geeft u de interrupt die moet worden injecteren wanneer TriggerType is WHvTriggerTypeInterrupt. Dit lid is alleen beschikbaar op x64. Zie WHvRequestInterrupt voor de definitie van WHV_INTERRUPT_CONTROL.

SynicEvent

Hiermee geeft u de SynIC-gebeurtenis op die moet worden aangegeven wanneer TriggerType dit is WHvTriggerTypeSynicEvent.

DeviceInterrupt

Hiermee geeft u de apparaatonderbrek om te bevestigen wanneer TriggerType .WHvTriggerTypeDeviceInterrupt LogicalDeviceId identificeert het logische apparaat in de partitie en MsiAddressMsiData geeft de berichtsignaalonderbreker op die moet worden geleverd. Het geneste Reserved veld moet worden ingesteld op 0.

WHV_TRIGGER_HANDLE

Identificeert een triggerobject dat is gemaakt door WHvCreateTrigger. De ingang wordt doorgegeven aan WHvUpdateTriggerParameters en WHvDeleteTrigger.

Remarks

WHV_TRIGGER_PARAMETERS wordt doorgegeven om WHvCreateTrigger een trigger te maken en om WHvUpdateTriggerParameters er een te hertargeten. Het TriggerType lid selecteert welk lid van de samenvoeging wordt gelezen. Het triggertype wordt tijdens het maken vastgezet en kan niet worden gewijzigd door een update.

WHvTriggerTypeInterrupt en het Interrupt lid WHV_TRIGGER_PARAMETERS is alleen beschikbaar op x64.

Een WHvTriggerTypeDeviceInterrupt trigger bevestigt een interrupt voor een logisch apparaat dat al bestaat in de partitie. Het apparaat moet aanwezig zijn en de interrupt die is toegewezen , bijvoorbeeld via WHvMapVpciDeviceInterrupt - voordat de trigger wordt gesignaleerd.

Zie ook