WHvPostVirtualProcessorSynicMessage

Posta uma mensagem SynIC (controlador de interrupção sintética) em um processador virtual.

Sintaxe

#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

Manipule para o objeto de partição.

VpIndex

Especifica o índice do processador virtual de destino.

SintIndex

Especifica a SINT (fonte de interrupção sintética) na qual a mensagem é entregue.

Message

Especifica o conteúdo da mensagem a ser postado.

MessageSizeInBytes

Especifica o tamanho de Message, em bytes. Deve ser maior que zero e não maior que WHV_SYNIC_MESSAGE_SIZE (256).

Valor de retorno

Se a função for bem-sucedida, o valor retornado será S_OK.

A função retornará E_INVALIDARG se MessageSizeInBytes for maior que WHV_SYNIC_MESSAGE_SIZE. Se o slot de mensagem SINT do processador virtual de destino já estiver ocupado por uma mensagem não entregue, a função retornará HRESULT_FROM_WIN32(ERROR_HV_OBJECT_IN_USE).

Remarks

A WHvPostVirtualProcessorSynicMessage função entrega uma mensagem para a página de mensagens SynIC do processador virtual de destino no SINT especificado, como se a mensagem tivesse sido enviada pelo hipervisor. A mensagem é escrita no slot de mensagem SINT correspondente e o processador virtual é notificado por meio desse SINT.

Cada SINT tem um único slot de mensagem. Se a mensagem anterior no SINT ainda não tiver sido consumida pelo convidado, a chamada falhará; ERROR_HV_OBJECT_IN_USEo chamador deverá tentar novamente depois que o convidado tiver reconhecido a mensagem anterior.

Requisitos

Requirement Value
Suporte mínimo Windows Windows 10, versão 20H2 (x64); Windows 11, versão 24H2, build 26100.3915 (Arm64)
Header WinHvPlatform.h
Biblioteca WinHvPlatform.lib
DLL WinHvPlatform.dll
Arquitetura x64, Arm64

Consulte também