WHvGetVpciDeviceNotification

仮想 PCI (VPCI) デバイスの次の保留中の通知を取得します。

構文

typedef enum WHV_VPCI_DEVICE_NOTIFICATION_TYPE
{
    WHvVpciDeviceNotificationUndefined = 0,
    WHvVpciDeviceNotificationMmioRemapping = 1,
    WHvVpciDeviceNotificationSurpriseRemoval = 2
} WHV_VPCI_DEVICE_NOTIFICATION_TYPE;

typedef struct WHV_VPCI_DEVICE_NOTIFICATION
{
    WHV_VPCI_DEVICE_NOTIFICATION_TYPE NotificationType;
    UINT32 Reserved1;
    union
    {
        UINT64 Reserved2;
    };
} WHV_VPCI_DEVICE_NOTIFICATION;

HRESULT
WINAPI
WHvGetVpciDeviceNotification(
    _In_ WHV_PARTITION_HANDLE Partition,
    _In_ UINT64 LogicalDeviceId,
    _Out_writes_bytes_(NotificationSizeInBytes) WHV_VPCI_DEVICE_NOTIFICATION* Notification,
    _In_ UINT32 NotificationSizeInBytes
    );

Parameters

Partition

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

LogicalDeviceId

VPCI デバイスの論理デバイス識別子を指定します。

Notification

通知の種類とデータを WHV_VPCI_DEVICE_NOTIFICATION 構造体として受け取ります。

NotificationSizeInBytes

Notification バッファーのサイズをバイト単位で指定します。

戻り値

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

Remarks

WHvGetVpciDeviceNotification関数は、VPCI デバイスに対して次に使用可能な非同期通知を取得します。 WHvCreateVpciDeviceに指定されたデバイス通知イベントが通知された後にこの関数を呼び出し、受信した通知の種類がWHvVpciDeviceNotificationUndefinedされるまで関数を繰り返し呼び出します。これは、これ以上通知が使用できなくなることを示します。

WHvVpciDeviceNotificationMmioRemapping通知は、デバイスの MMIO 範囲が再マップされており、WHvMapVpciDeviceMmioRangesで再取得する必要があることを示します。 WHvVpciDeviceNotificationSurpriseRemoval通知は、デバイスが予期せず削除されたことを示します。

Requirements

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

こちらも参照ください