WHvPostVirtualProcessorSynicMessage

Publikuje komunikat syntetycznego kontrolera przerwań (SynIC) do procesora wirtualnego.

Składnia

#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

Dojście do obiektu partycji.

VpIndex

Określa indeks docelowego procesora wirtualnego.

SintIndex

Określa syntetyczne źródło przerwań (SINT), na którym jest dostarczany komunikat.

Message

Określa ładunek komunikatu do opublikowania.

MessageSizeInBytes

Określa rozmiar Message, w bajtach. Musi być większa niż zero i nie większa niż WHV_SYNIC_MESSAGE_SIZE (256).

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość to S_OK.

Funkcja zwraca E_INVALIDARG wartość , jeśli MessageSizeInBytes jest większa niż WHV_SYNIC_MESSAGE_SIZE. Jeśli docelowe miejsce komunikatu SINT procesora wirtualnego jest już zajęte przez komunikat niedostarczony, funkcja zwraca wartość HRESULT_FROM_WIN32(ERROR_HV_OBJECT_IN_USE).

Remarks

Funkcja WHvPostVirtualProcessorSynicMessage dostarcza komunikat do strony komunikatu SynIC docelowego procesora wirtualnego w określonym SINT, tak jakby komunikat został wysłany przez funkcję hypervisor. Komunikat jest zapisywany w odpowiednim miejscu komunikatu SINT, a procesor wirtualny jest powiadamiany za pośrednictwem tej usługi SINT.

Każda usługa SINT ma jedno miejsce komunikatu. Jeśli poprzedni komunikat dotyczący tej usługi SINT nie został jeszcze użyty przez gościa, wywołanie zakończy się niepowodzeniem ERROR_HV_OBJECT_IN_USE; obiekt wywołujący powinien ponowić próbę po potwierdzeniu wcześniejszej wiadomości przez gościa.

Requirements

Requirement Value
Minimalna obsługiwana Windows Windows 10, wersja 20H2 (x64); Windows 11, wersja 24H2, kompilacja 26100.3915 (Arm64)
Header WinHvPlatform.h
Biblioteka WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Zobacz także