Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.