Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Typy danych wyzwalacza opisują typ wyzwalacza, akcję dostarczaną do partycji i uchwyt używany do jego identyfikacji.
Składnia
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;
Członkowie
WHV_TRIGGER_TYPE
Określa rodzaj akcji, jaką wyzwalacz dostarcza, gdy jego zdarzenie jest sygnalizowane.
WHvTriggerTypeInterrupt
Wprowadza wirtualne przerwanie opisane przez WHV_INTERRUPT_CONTROL strukturę. Ten typ wyzwalacza jest dostępny tylko w wersji x64.
WHvTriggerTypeSynicEvent
Ustawia syntetyczną flagę zdarzenia kontrolera przerwań (SynIC) opisaną WHV_SYNIC_EVENT_PARAMETERS przez strukturę.
WHvTriggerTypeDeviceInterrupt
Potwierdza przerwanie urządzenia (MSI) dla urządzenia logicznego, które znajduje się w partycji.
WHV_SYNIC_EVENT_PARAMETERS
Opisuje flagę zdarzenia SynIC ustawianą przez WHvTriggerTypeSynicEvent wyzwalacz.
VpIndex
Określa indeks procesora wirtualnego, który odbiera zdarzenie.
TargetSint
Określa syntetyczne źródło przerwań (SINT) do sygnału.
TargetVtl
Określa wirtualny poziom zaufania, który odbiera zdarzenie. W przypadku wyzwalaczy musi to być VTL 0.
FlagNumber
Określa flagę zdarzenia SynIC do ustawienia.
WHV_TRIGGER_PARAMETERS
Opisuje wyzwalacz: jego typ i parametry akcji, która dostarcza.
TriggerType
Określa typ wyzwalacza, który wybiera aktywny element członkowski unii.
Reserved
Zarezerwowane. Ustaw wartość 0.
Interrupt
Określa przerwanie do wstrzykiwania, gdy TriggerType ma wartość .WHvTriggerTypeInterrupt Ten element członkowski jest dostępny tylko w wersji x64. Zobacz WHvRequestInterrupt definicję elementu WHV_INTERRUPT_CONTROL.
SynicEvent
Określa zdarzenie SynIC do sygnalizatora, gdy TriggerType ma wartość WHvTriggerTypeSynicEvent.
DeviceInterrupt
Określa przerwanie urządzenia w celu potwierdzenia, gdy TriggerType ma wartość WHvTriggerTypeDeviceInterrupt.
LogicalDeviceId identyfikuje urządzenie logiczne w partycji i MsiAddressMsiData określa przerwanie sygnalizatora komunikatów do dostarczenia. Zagnieżdżone Reserved pole musi być ustawione na 0.
WHV_TRIGGER_HANDLE
Identyfikuje obiekt wyzwalacza utworzony przez WHvCreateTriggerprogram . Dojście jest przekazywane do WHvUpdateTriggerParameters i WHvDeleteTrigger.
Remarks
WHV_TRIGGER_PARAMETERS element jest przekazywany do elementu WHvCreateTrigger w celu utworzenia wyzwalacza i WHvUpdateTriggerParameters do ponownego utworzenia. Element TriggerType członkowski wybiera, który element członkowski unii jest odczytywany. Typ wyzwalacza jest stały w czasie tworzenia i nie można go zmienić przez aktualizację.
WHvTriggerTypeInterrupt
Interrupt element członkowski WHV_TRIGGER_PARAMETERS programu jest dostępny tylko w wersji x64.
Wyzwalacz WHvTriggerTypeDeviceInterrupt potwierdza przerwanie dla urządzenia logicznego, które już istnieje w partycji; urządzenie musi być obecne i jego przerwanie zamapowane — na przykład przez WHvMapVpciDeviceInterrupt — przed zasygnalizowanym wyzwalaczem.