Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Разрешает назначение прерывания набору целевых виртуальных процессоров.
Замечание
Эта функция применяется только к секциям x64.
Синтаксис
typedef enum WHV_INTERRUPT_DESTINATION_MODE
{
WHvX64InterruptDestinationModePhysical,
WHvX64InterruptDestinationModeLogical,
} WHV_INTERRUPT_DESTINATION_MODE;
HRESULT
WINAPI
WHvGetInterruptTargetVpSet(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT64 Destination,
_In_ WHV_INTERRUPT_DESTINATION_MODE DestinationMode,
_Out_writes_to_(VpCount, *TargetVpCount) UINT32* TargetVps,
_In_ UINT32 VpCount,
_Out_ UINT32* TargetVpCount
);
Parameters
Partition
Дескриптор объекта секции.
Destination
Указывает значение назначения APIC для разрешения.
DestinationMode
Указывает, как Destination интерпретируется: WHvX64InterruptDestinationModePhysical для физического идентификатора APIC или WHvX64InterruptDestinationModeLogical для логического назначения.
TargetVps
Получает индексы виртуальных процессоров, предназначенных для назначения.
VpCount
Указывает количество элементов в массиве TargetVps . Это значение должно быть по крайней мере числом процессоров секции.
TargetVpCount
Получает число индексов виртуальных процессоров, записанных TargetVpsв .
Возвращаемое значение
Если функция выполнена успешно, возвращается S_OKзначение.
Функция возвращается E_INVALIDARG , если DestinationMode не является допустимым значением или VpCount меньше числа процессоров секции. Если раздел не настроен для эмуляции локального APIC, функция возвращается HRESULT_FROM_WIN32(ERROR_HV_OPERATION_DENIED).
Remarks
Функция WHvGetInterruptTargetVpSet вычисляет набор виртуальных процессоров, которые прерывают с указанным целевым и целевым режимом назначения, применяя те же правила маршрутизации APIC, что и гипервизор, который использует для доставки прерываний. Это позволяет стеку виртуализации определять маршрутизацию прерываний без прерывания.
Буфер должен быть достаточно большим, чтобы сохранить одну запись для каждого виртуального процессора в секции. Функция TargetVps не использует протокол добавочного размера запроса, а не возвращает неуклюжий буфер, а не сообщает E_INVALIDARG требуемый размер.
Требования
| Requirement | Ценность |
|---|---|
| Минимальный поддерживаемый Windows | Windows 10 версии 20H2 |
| Header | WinHvPlatform.h |
| Библиотека | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64 |