Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I tipi di dati del trigger descrivono il tipo di un trigger, l'azione che recapita a una partizione e l'handle usato per identificarlo.
Sintassi
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 il tipo di azione recapitata da un trigger quando viene segnalato il relativo evento.
WHvTriggerTypeInterrupt
Inserisce un interrupt virtuale descritto da una WHV_INTERRUPT_CONTROL struttura. Questo tipo di trigger è disponibile solo in x64.
WHvTriggerTypeSynicEvent
Imposta un flag di evento SynIC (Synthetic Interrupt Controller) descritto da una WHV_SYNIC_EVENT_PARAMETERS struttura.
WHvTriggerTypeDeviceInterrupt
Asserisce un interrupt del dispositivo (MSI) per un dispositivo logico presente nella partizione.
WHV_SYNIC_EVENT_PARAMETERS
Descrive il flag di evento SynIC impostato da un WHvTriggerTypeSynicEvent trigger.
VpIndex
Specifica l'indice del processore virtuale che riceve l'evento.
TargetSint
Specifica l'origine di interrupt sintetica (SINT) da segnalare.
TargetVtl
Specifica il livello di attendibilità virtuale che riceve l'evento. Per i trigger, deve essere VTL 0.
FlagNumber
Specifica il flag di evento SynIC da impostare.
WHV_TRIGGER_PARAMETERS
Descrive un trigger: il tipo e i parametri dell'azione che fornisce.
TriggerType
Specifica il tipo di trigger, che seleziona il membro attivo dell'unione.
Reserved
Riservato. Impostare su 0.
Interrupt
Specifica l'interrupt da inserire quando TriggerType è WHvTriggerTypeInterrupt. Questo membro è disponibile solo su x64. Vedere WHvRequestInterrupt per la definizione di WHV_INTERRUPT_CONTROL.
SynicEvent
Specifica l'evento SynIC da segnalare quando TriggerType è WHvTriggerTypeSynicEvent.
DeviceInterrupt
Specifica l'interrupt del dispositivo da asserire quando TriggerType è WHvTriggerTypeDeviceInterrupt.
LogicalDeviceId identifica il dispositivo logico nella partizione e MsiAddress specifica MsiData l'interrupt segnalato dal messaggio da recapitare. Il campo annidato Reserved deve essere impostato su 0.
WHV_TRIGGER_HANDLE
Identifica un oggetto trigger creato da WHvCreateTrigger. L'handle viene passato a WHvUpdateTriggerParameters e WHvDeleteTrigger.
Remarks
WHV_TRIGGER_PARAMETERS viene passato a WHvCreateTrigger per creare un trigger e per ridestinarne WHvUpdateTriggerParameters uno. Il membro seleziona il membro che viene letto dall'unione. Il TriggerType tipo di trigger è fisso in fase di creazione e non può essere modificato da un aggiornamento.
WHvTriggerTypeInterrupt e il Interrupt membro di WHV_TRIGGER_PARAMETERS sono disponibili solo su x64.
Un WHvTriggerTypeDeviceInterrupt trigger asserisce un interrupt per un dispositivo logico già esistente nella partizione. Il dispositivo deve essere presente e il relativo interrupt mappato, ad esempio tramite WHvMapVpciDeviceInterrupt , prima che il trigger venga segnalato.