WHvRequestVpciDeviceInterrupt

割り当てられた仮想 PCI デバイスを所有するパーティションに論理割り込みを配信します。

構文

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

Parameters

Partition

仮想 PCI デバイスを所有するパーティションへのハンドル。

LogicalDeviceId

デバイスの作成時に割り当てられる仮想 PCI デバイスの論理デバイス ID を指定します。

MsiAddress

WHvMapVpciDeviceInterruptによって返される割り込みの MSI アドレスを指定します。

MsiData

WHvMapVpciDeviceInterruptによって返される割り込みの MSI データ ペイロードを指定します。

戻り値

関数が成功した場合、戻り値は S_OK

x64 では、 MsiAddress0xFFFFFFFF より大きい場合、関数は HRESULT_FROM_WIN32(ERROR_HV_INVALID_PARAMETER)を返します。 ハイパーバイザーは、デバイスの残りの検証と割り込みを実行します。

Remarks

WHvRequestVpciDeviceInterrupt関数は、論理割り込みを有効にして作成されたデバイスの割り込みをアサートします。 割り込みは、WHvMapVpciDeviceInterruptによって返されるMsiAddress値とMsiData値によって識別され、マッピングが現在ターゲットとする仮想プロセッサに配信されます。

この呼び出しにより、仮想化スタックは、デバイスに代わって割り込みを挿入できます。物理リソースに依存して割り込みを通知する代わりに、割り込みを挿入できます。 配信を要求する前に、割り込みを WHvMapVpciDeviceInterrupt にマップします。

Requirements

要件 価値
サポートされている最小Windows Windows 10バージョン 20H2 (x64);Windows 11、バージョン 24H2、ビルド 26100.3915 (Arm64)
Header WinHvPlatform.h
図書館 WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64、Arm64

こちらも参照ください