WHvUpdateTriggerParameters

Обновляет параметры существующего объекта триггера.

Синтаксис

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;

HRESULT
WINAPI
WHvUpdateTriggerParameters(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ const WHV_TRIGGER_PARAMETERS* Parameters,
    _In_ WHV_TRIGGER_HANDLE TriggerHandle
    );

Parameters

Partition

Дескриптор объекта секции.

Parameters

Задает новые параметры триггера. Элемент TriggerType должен соответствовать типу, с которым был создан триггер. Полные определения каждого элемента см. в разделе "Типы данных триггеров ".

TriggerHandle

Дескриптор объекта триггера для обновления, как возвращается WHvCreateTrigger.

Возвращаемое значение

Если функция выполнена успешно, возвращается S_OKзначение.

Функция возвращает E_INVALIDARG , если параметры в Parameters недействительны для типа триггера. Тип триггера исправлен при создании триггера и не может быть изменен этой функцией.

Remarks

Функция WHvUpdateTriggerParameters перенацеливает динамический триггер, не создавая его повторно, чтобы тот же, EventHandle который вернулся WHvCreateTrigger , продолжает доставлять обновленное действие. Обновление применяется атомарно относительно доставки, поэтому сигнал о том, что гонки с обновлением наблюдают либо старые, либо новые параметры.

Тип триггера исправлен во время создания и не может быть изменен этой функцией. В том же типе триггера любые поля параметров могут быть изменены, например целевой виртуальный процессор, вектор или MSI-адрес и данные. Чтобы доставить другое действие, удалите триггер WHvDeleteTrigger и создайте новый.

Требования

Requirement Ценность
Минимальный поддерживаемый Windows Windows 10 версии 20H2 (x64); Windows 11 версии 24H2, сборка 26100.3915 (Arm64)
Header WinHvPlatform.h
Библиотека WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

См. также