觸發資料類型

觸發器資料類型描述觸發器的類型、它傳遞給分割區的動作,以及用來識別該分割區的句柄。

語法

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

設定一個由 WHV_SYNIC_EVENT_PARAMETERS 結構描述的合成中斷控制器(SynIC)事件旗標。

WHvTriggerTypeDeviceInterrupt

為分割區中存在的邏輯裝置斷言裝置(MSI)中斷。

WHV_SYNIC_EVENT_PARAMETERS

描述觸發器所設定的 SynIC 事件旗標 WHvTriggerTypeSynicEvent

VpIndex

指定接收事件的虛擬處理器的索引。

TargetSint

指定合成中斷來源(SINT)至訊號。

TargetVtl

指定接收事件的虛擬信任等級。 對於觸發器,這必須是 VTL 0。

FlagNumber

指定要設定的 SynIC 事件旗標。

WHV_TRIGGER_PARAMETERS

描述觸發器:其類型及所執行動作的參數。

TriggerType

指定觸發器類型,選擇聯合體的主動成員。

Reserved

已保留。 設定為 0。

Interrupt

指定當 TriggerTypeWHvTriggerTypeInterrupt時要注入的中斷。 此成員僅在 x64 上可用。 請參閱 WHvRequestInterruptWHV_INTERRUPT_CONTROL定義。

SynicEvent

指定 SynIC 事件以發出信號,當 TriggerTypeWHvTriggerTypeSynicEvent時。

DeviceInterrupt

指定當 是 時WHvTriggerTypeDeviceInterrupt要斷TriggerType言的裝置中斷。 LogicalDeviceId識別分割區中的邏輯裝置,MsiAddressMsiData並指定要傳遞訊息訊號的中斷。 巢狀 Reserved 欄位必須設為 0。

WHV_TRIGGER_HANDLE

識別由 WHvCreateTrigger所建立的觸發物件。 把柄傳遞給 WHvUpdateTriggerParametersWHvDeleteTrigger

Remarks

WHV_TRIGGER_PARAMETERS 傳遞給 以 WHvCreateTrigger 建立觸發器,並 to WHvUpdateTriggerParameters 重新定位一個觸發器。 TriggerType成員選擇要讀取哪個成員;觸發類型在建立時固定,且無法透過更新更改。

WHvTriggerTypeInterruptInterrupt Member of WHV_TRIGGER_PARAMETERS 僅在 x64 上提供。

WHvTriggerTypeDeviceInterrupt觸發器會對已存在於分割區中的邏輯裝置發出中斷;該裝置必須在觸發器被發出訊號前,必須已存在且其中斷已映射——例如通過 WHvMapVpciDeviceInterrupt ——。

另請參閱