Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Типы данных триггера описывают тип триггера, действие, которое оно доставляет в секцию, и дескриптор, используемый для его идентификации.
Синтаксис
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
Идентифицирует тип действия триггера при сигнале его события.
WHvTriggerTypeInterrupt
Внедряет виртуальные прерывания, описанные структурой WHV_INTERRUPT_CONTROL . Этот тип триггера доступен только в x64.
WHvTriggerTypeSynicEvent
Задает флаг события искусственного прерывания (SynIC), описанный структурой WHV_SYNIC_EVENT_PARAMETERS .
WHvTriggerTypeDeviceInterrupt
Утверждает прерывание устройства (MSI) для логического устройства, которое присутствует в разделе.
WHV_SYNIC_EVENT_PARAMETERS
Описывает флаг события SynIC, который WHvTriggerTypeSynicEvent задает триггер.
VpIndex
Указывает индекс виртуального процессора, получающего событие.
TargetSint
Указывает источник синтетических прерываний (SINT) для сигнала.
TargetVtl
Указывает уровень виртуального доверия, который получает событие. Для триггеров это должно быть VTL 0.
FlagNumber
Указывает флаг события SynIC для задания.
WHV_TRIGGER_PARAMETERS
Описывает триггер: его тип и параметры выполняемого действия.
TriggerType
Указывает тип триггера, который выбирает активный член объединения.
Reserved
Зарезервировано. Установите значение 0.
Interrupt
Указывает прерывание, которое необходимо внедрить, когда TriggerType есть WHvTriggerTypeInterrupt. Этот элемент доступен только в x64. См WHvRequestInterrupt . определение WHV_INTERRUPT_CONTROL.
SynicEvent
Указывает событие SynIC, которое будет сигнализировать, когда TriggerType есть WHvTriggerTypeSynicEvent.
DeviceInterrupt
Указывает прерывание устройства для утверждения в случаеTriggerType.WHvTriggerTypeDeviceInterrupt
LogicalDeviceId определяет логическое устройство в секции и MsiAddressMsiData указывает сигнальное сообщение прерывание для доставки. Вложенное Reserved поле должно иметь значение 0.
WHV_TRIGGER_HANDLE
Определяет объект триггера, созданный с помощью WHvCreateTrigger. Дескриптор передается WHvUpdateTriggerParameters и WHvDeleteTrigger.
Remarks
WHV_TRIGGER_PARAMETERS передается для WHvCreateTrigger создания триггера и WHvUpdateTriggerParameters для перенацеливать его. Член TriggerType выбирает, какой член объединения считывается; тип триггера исправлен во время создания и не может быть изменен обновлением.
WHvTriggerTypeInterrupt
Interrupt и член WHV_TRIGGER_PARAMETERS доступны только в x64.
WHvTriggerTypeDeviceInterrupt Триггер утверждает прерывание для логического устройства, которое уже существует в секции; устройство должно присутствовать и сопоставлять его прерывание ( например, через — WHvMapVpciDeviceInterrupt перед сигналом триггера).