Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Crée un appareil PCI virtuel (VPCI) et affecte ses ressources à une partition.
Syntaxe
typedef enum WHV_CREATE_VPCI_DEVICE_FLAGS
{
WHvCreateVpciDeviceFlagNone = 0x00000000,
WHvCreateVpciDeviceFlagPhysicallyBacked = 0x00000001,
WHvCreateVpciDeviceFlagUseLogicalInterrupts = 0x00000002
} WHV_CREATE_VPCI_DEVICE_FLAGS;
// Enables bitwise operators on the WHV_CREATE_VPCI_DEVICE_FLAGS enumeration.
DEFINE_ENUM_FLAG_OPERATORS(WHV_CREATE_VPCI_DEVICE_FLAGS);
HRESULT
WINAPI
WHvCreateVpciDevice(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT64 LogicalDeviceId,
_In_ HANDLE VpciResource,
_In_ WHV_CREATE_VPCI_DEVICE_FLAGS Flags,
_In_opt_ HANDLE NotificationEventHandle
);
Paramètres
Partition
Gérer l’objet de partition.
LogicalDeviceId
Spécifie un identificateur unique pour l’appareil dans l’étendue de la partition.
VpciResource
Gérez une ressource VPCI précédemment allouée qui sauvegarde l’appareil virtuel. Obtenez ce handle à partir de WHvAllocateVpciResource.
Flags
Spécifie les caractéristiques facultatives de l’appareil à créer, en tant que combinaison de WHV_CREATE_VPCI_DEVICE_FLAGS valeurs.
NotificationEventHandle
Spécifie un handle facultatif pour un événement signalé pour avertir l’appelant des événements asynchrones associés à l’appareil VPCI. Lorsque l’événement est signalé, récupérez les notifications en attente avec WHvGetVpciDeviceNotification.
Valeur de retour
Si la fonction réussit, la valeur de retour est S_OK.
Remarks
La WHvCreateVpciDevice fonction crée un appareil PCI virtuel et affecte les ressources physiques ou virtuelles identifiées par VpciResource la partition. Une fois cet appel terminé, l’IOMMU est programmé afin que l’ID de demandeur PCI de la fonction physique ou virtuelle qui sauvegarde l’appareil soit affecté au domaine de partition, remaappant toutes les opérations DMA provenant de cette fonction à l’espace d’adressage de la partition.
Allouez la ressource avec WHvAllocateVpciResource avant d’appeler cette fonction. Une fois l’appareil créé, mappez ses plages MMIO et WHvMapVpciDeviceMmioRanges ses interruptions avec WHvMapVpciDeviceInterrupt. Détruisez l’appareil avec WHvDeleteVpciDevice.
Exigences
| Requirement | Valeur |
|---|---|
| Windows minimum pris en charge | Windows 10, version 20H2 (x64) ; Windows 11, version 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Bibliothèque | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |