Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les types de données du déclencheur décrivent le type d’un déclencheur, l’action qu’il remet à une partition et le handle utilisé pour l’identifier.
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;
Members
WHV_TRIGGER_TYPE
Identifie le type d’action qu’un déclencheur remet quand son événement est signalé.
WHvTriggerTypeInterrupt
Injecte une interruption virtuelle décrite par une WHV_INTERRUPT_CONTROL structure. Ce type de déclencheur est disponible uniquement sur x64.
WHvTriggerTypeSynicEvent
Définit un indicateur d’événement SynIC (SynIC) de contrôleur d’interruption synthétique décrit par une WHV_SYNIC_EVENT_PARAMETERS structure.
WHvTriggerTypeDeviceInterrupt
Affirme une interruption d’appareil (MSI) pour un appareil logique présent dans la partition.
WHV_SYNIC_EVENT_PARAMETERS
Décrit l’indicateur d’événement SynIC qu’un WHvTriggerTypeSynicEvent déclencheur définit.
VpIndex
Spécifie l’index du processeur virtuel qui reçoit l’événement.
TargetSint
Spécifie la source d’interruption synthétique (SINT) à signaler.
TargetVtl
Spécifie le niveau d’approbation virtuelle qui reçoit l’événement. Pour les déclencheurs, il doit s’agir de VTL 0.
FlagNumber
Spécifie l’indicateur d’événement SynIC à définir.
WHV_TRIGGER_PARAMETERS
Décrit un déclencheur : son type et les paramètres de l’action qu’il livre.
TriggerType
Spécifie le type de déclencheur, qui sélectionne le membre actif de l’union.
Reserved
Réservé. Défini sur 0.
Interrupt
Spécifie l’interruption à injecter quand TriggerType est WHvTriggerTypeInterrupt. Ce membre est disponible uniquement sur x64. Consultez WHvRequestInterrupt la définition de WHV_INTERRUPT_CONTROL.
SynicEvent
Spécifie l’événement SynIC à signaler quand TriggerType est WHvTriggerTypeSynicEvent.
DeviceInterrupt
Spécifie l’interruption de l’appareil à déclarer quand TriggerType est WHvTriggerTypeDeviceInterrupt.
LogicalDeviceId identifie l’appareil logique dans la partition et MsiAddressMsiData spécifie l’interruption signalée par le message à remettre. Le champ imbriqué Reserved doit être défini sur 0.
WHV_TRIGGER_HANDLE
Identifie un objet déclencheur créé par WHvCreateTrigger. Le handle est passé à WHvUpdateTriggerParameters et WHvDeleteTrigger.
Remarks
WHV_TRIGGER_PARAMETERS est passé à WHvCreateTrigger la création d’un déclencheur et à WHvUpdateTriggerParameters la reciblage d’un déclencheur. Le TriggerType membre sélectionne quel membre de l’union est lu ; le type de déclencheur est fixe au moment de la création et ne peut pas être modifié par une mise à jour.
WHvTriggerTypeInterrupt et le Interrupt membre de WHV_TRIGGER_PARAMETERS sont disponibles uniquement sur x64.
Un WHvTriggerTypeDeviceInterrupt déclencheur déclare une interruption pour un appareil logique qui existe déjà dans la partition ; l’appareil doit être présent et son interruption mappée ( par exemple, via WHvMapVpciDeviceInterrupt ) avant que le déclencheur ne soit signalé.