Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vytvoří virtuální zařízení PCI (VPCI) a přiřadí jeho prostředky k oddílu.
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
);
Parameters
Partition
Popisovač objektu oddílu
LogicalDeviceId
Určuje jedinečný identifikátor zařízení v rámci oboru oddílu.
VpciResource
Zpracujte s dříve přiděleným prostředkem VPCI, který virtuální zařízení zálohuje. Získat tento popisovač od WHvAllocateVpciResource.
Flags
Určuje volitelné vlastnosti zařízení, které se mají vytvořit, jako kombinaci WHV_CREATE_VPCI_DEVICE_FLAGS hodnot.
NotificationEventHandle
Určuje volitelný popisovač události, která je signalována, aby volajícímu oznámil asynchronní události přidružené k zařízení VPCI. Když je událost signalována, načtěte čekající oznámení s WHvGetVpciDeviceNotification.
Návratová hodnota
Pokud je funkce úspěšná, návratová hodnota je S_OK.
Remarks
Funkce WHvCreateVpciDevice vytvoří virtuální zařízení PCI a přiřadí fyzické nebo virtuální prostředky identifikované VpciResource oddílem. Po dokončení tohoto volání se ioMMU naprogramuje tak, aby ID žadatele PCI fyzické nebo virtuální funkce backingu zařízení bylo přiřazeno k doméně oddílů a znovu namapoval všechny operace DMA pocházející z této funkce do adresního prostoru oddílu.
Před voláním WHvAllocateVpciResource této funkce přidělte prostředek. Po vytvoření zařízení namapujte rozsahy MMIO a WHvMapVpciDeviceMmioRanges jeho přerušení s WHvMapVpciDeviceInterrupt. Zničit zařízení pomocí WHvDeleteVpciDevice.
Požadavky
| Requirement | Value |
|---|---|
| Minimální podporovaná Windows | Windows 10 verze 20H2 (x64); Windows 11, verze 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Knihovna | WinHvPlatform.lib |
| knihovna DLL | WinHvPlatform.dll |
| Architektura | x64, Arm64 |