Jenis Data Pemicu

Jenis data pemicu menjelaskan jenis pemicu, tindakan yang dikirimkannya ke partisi, dan handel yang digunakan untuk mengidentifikasinya.

Syntax

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

Mengidentifikasi jenis tindakan yang dikirimkan pemicu saat peristiwanya disinyalir.

WHvTriggerTypeInterrupt

Menyuntikkan gangguan virtual yang WHV_INTERRUPT_CONTROL dijelaskan oleh struktur. Jenis pemicu ini hanya tersedia pada x64.

WHvTriggerTypeSynicEvent

Mengatur bendera peristiwa pengontrol interupsi sintetis (SynIC) yang WHV_SYNIC_EVENT_PARAMETERS dijelaskan oleh struktur.

WHvTriggerTypeDeviceInterrupt

Menegaskan interupsi perangkat (MSI) untuk perangkat logis yang ada di partisi.

WHV_SYNIC_EVENT_PARAMETERS

Menjelaskan bendera peristiwa SynIC yang ditetapkan pemicu WHvTriggerTypeSynicEvent .

VpIndex

Menentukan indeks prosesor virtual yang menerima peristiwa.

TargetSint

Menentukan sumber interupsi sintetis (SINT) untuk memberi sinyal.

TargetVtl

Menentukan tingkat kepercayaan virtual yang menerima peristiwa. Untuk pemicu, ini harus VTL 0.

FlagNumber

Menentukan bendera peristiwa SynIC yang akan diatur.

WHV_TRIGGER_PARAMETERS

Menjelaskan pemicu: jenisnya dan parameter tindakan yang diberikannya.

TriggerType

Menentukan jenis pemicu, yang memilih anggota aktif dari serikat.

Reserved

Direservasi. Atur ke 0.

Interrupt

Menentukan interupsi untuk menyuntikkan kapan TriggerType adalah WHvTriggerTypeInterrupt. Anggota ini hanya tersedia di x64. Lihat WHvRequestInterrupt untuk definisi WHV_INTERRUPT_CONTROL.

SynicEvent

Menentukan peristiwa SynIC untuk memberi sinyal kapan TriggerType adalah WHvTriggerTypeSynicEvent.

DeviceInterrupt

Menentukan interupsi perangkat untuk menegaskan kapan TriggerType adalah WHvTriggerTypeDeviceInterrupt. LogicalDeviceId mengidentifikasi perangkat logis dalam partisi, dan MsiAddressMsiData menentukan interupsi yang diberi sinyal pesan untuk dikirimkan. Bidang berlapis Reserved harus diatur ke 0.

WHV_TRIGGER_HANDLE

Mengidentifikasi objek pemicu yang dibuat oleh WHvCreateTrigger. Handel diteruskan ke WHvUpdateTriggerParameters dan WHvDeleteTrigger.

Remarks

WHV_TRIGGER_PARAMETERS diteruskan ke WHvCreateTrigger untuk membuat pemicu dan untuk WHvUpdateTriggerParameters menargetkan ulang pemicu. Anggota TriggerType memilih anggota serikat mana yang dibaca; jenis pemicu diperbaiki pada waktu pembuatan dan tidak dapat diubah oleh pembaruan.

WHvTriggerTypeInterrupt Interrupt dan anggota WHV_TRIGGER_PARAMETERS hanya tersedia di x64.

Pemicu WHvTriggerTypeDeviceInterrupt menegaskan gangguan untuk perangkat logis yang sudah ada di partisi; perangkat harus ada dan interupsinya dipetakan — misalnya, melalui WHvMapVpciDeviceInterrupt — sebelum pemicu disinyalir.

Baca juga