WHvRequestVpciDeviceInterrupt

Fornece uma interrupção lógica para a partição que possui um dispositivo PCI virtual atribuído.

Sintaxe

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

Parameters

Partition

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

LogicalDeviceId

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

MsiAddress

Especifica o endereço MSI da interrupção a ser entregue, conforme retornado por WHvMapVpciDeviceInterrupt.

MsiData

Especifica o conteúdo de dados MSI da interrupção a ser entregue, conforme retornado por WHvMapVpciDeviceInterrupt.

Valor de retorno

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

Em x64, se MsiAddress for maior que 0xFFFFFFFF, a função retornará HRESULT_FROM_WIN32(ERROR_HV_INVALID_PARAMETER). O hipervisor executa a validação e a interrupção restantes do dispositivo.

Remarks

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

Essa 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 sinalizá-la. Mapeie a interrupção antes WHvMapVpciDeviceInterrupt de solicitar a entrega.

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