WHvRequestVpciDeviceInterrupt

Entrega uma interrupção lógica à partição que possui um dispositivo virtual PCI atribuído.

Sintaxe

HRESULT
WINAPI
WHvRequestVpciDeviceInterrupt(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT64 LogicalDeviceId,
    _In_ UINT64 MsiAddress,
    _In_ UINT32 MsiData
    );

Parameters

Partition

Handle para a partição que possui o dispositivo PCI virtual.

LogicalDeviceId

Especifica o ID lógico do dispositivo PCI virtual, conforme atribuído quando o dispositivo foi criado.

MsiAddress

Especifica o endereço MSI da interrupção a entregar, conforme devolvido por WHvMapVpciDeviceInterrupt.

MsiData

Especifica a carga útil de dados MSI da interrupção a entregar, conforme devolvida por WHvMapVpciDeviceInterrupt.

Valor de retorno

Se a função tiver sucesso, o valor de retorno é S_OK.

Em x64, se MsiAddress for maior que 0xFFFFFFFF, a função devolve HRESULT_FROM_WIN32(ERROR_HV_INVALID_PARAMETER). O hipervisor realiza a validação restante do dispositivo e a interrupção.

Remarks

A WHvRequestVpciDeviceInterrupt função afirma uma interrupção para um dispositivo que foi criado com interrupções lógicas ativadas. A interrupção é identificada pelos MsiAddress valores e MsiData devolvidos por WHvMapVpciDeviceInterrupt, e é entregue aos processadores virtuais que o mapeamento atualmente direciona.

Esta chamada permite que a pilha de virtualização injete a interrupção em nome do dispositivo, em vez de depender dos recursos físicos para a sinalizar. Mapeie a interrupção com WHvMapVpciDeviceInterrupt antes de pedir a entrega.

Requirements

Requirement Value
Windows mínimo suportado 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

Ver também