仮想 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 |