Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Отправляет в виртуальный процессор сообщение с искусственным контроллером прерываний (SynIC).
Синтаксис
#define WHV_SYNIC_MESSAGE_SIZE 256
HRESULT
WINAPI
WHvPostVirtualProcessorSynicMessage(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT32 VpIndex,
_In_ UINT32 SintIndex,
_In_reads_bytes_(MessageSizeInBytes) const VOID* Message,
_In_ UINT32 MessageSizeInBytes
);
Parameters
Partition
Дескриптор объекта секции.
VpIndex
Указывает индекс целевого виртуального процессора.
SintIndex
Указывает источник синтетических прерываний (SINT), на котором доставлено сообщение.
Message
Указывает полезные данные сообщения для публикации.
MessageSizeInBytes
Задает размер Messageв байтах. Должно быть больше нуля и не WHV_SYNIC_MESSAGE_SIZE больше (256).
Возвращаемое значение
Если функция выполнена успешно, возвращается S_OKзначение.
Функция возвращаетсяE_INVALIDARG, WHV_SYNIC_MESSAGE_SIZEесли MessageSizeInBytes больше. Если целевой слот сообщений SINT виртуального процессора уже занят незавершенным сообщением, функция возвращается HRESULT_FROM_WIN32(ERROR_HV_OBJECT_IN_USE).
Remarks
Функция WHvPostVirtualProcessorSynicMessage передает сообщение на страницу сообщения SynIC целевого виртуального процессора на указанном SINT, как будто сообщение было отправлено гипервизором. Сообщение записывается в соответствующий слот сообщений SINT, а виртуальный процессор уведомляется с помощью этого SINT.
Каждый SINT имеет один слот сообщения. Если предыдущее сообщение об этом SINT еще не было занято гостем, вызов завершается ошибкой ERROR_HV_OBJECT_IN_USE; вызывающий объект должен повторить попытку после того, как гость признал предыдущее сообщение.
Требования
| Requirement | Ценность |
|---|---|
| Минимальный поддерживаемый Windows | Windows 10 версии 20H2 (x64); Windows 11 версии 24H2, сборка 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Библиотека | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |