Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membuat perangkat PCI virtual (VPCI) dan menetapkan sumber dayanya ke partisi.
Syntax
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
Tangani ke objek partisi.
LogicalDeviceId
Menentukan pengidentifikasi unik untuk perangkat dalam cakupan partisi.
VpciResource
Tangani ke sumber daya VPCI yang dialokasikan sebelumnya yang mendukung perangkat virtual. Dapatkan handel ini dari WHvAllocateVpciResource.
Flags
Menentukan karakteristik opsional perangkat yang akan dibuat, sebagai kombinasi WHV_CREATE_VPCI_DEVICE_FLAGS nilai.
NotificationEventHandle
Menentukan handel opsional ke peristiwa yang disinyalir untuk memberi tahu pemanggil peristiwa asinkron yang terkait dengan perangkat VPCI. Saat peristiwa disinyalir, ambil pemberitahuan yang tertunda dengan WHvGetVpciDeviceNotification.
Mengembalikan Nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah S_OK.
Remarks
Fungsi ini WHvCreateVpciDevice membuat perangkat PCI virtual dan menetapkan sumber daya fisik atau virtual yang diidentifikasi oleh VpciResource ke partisi. Setelah panggilan ini selesai, IOMMU diprogram sehingga ID pemohon PCI dari fungsi fisik atau virtual yang mendukung perangkat ditetapkan ke domain partisi, memulihkan operasi DMA apa pun yang berasal dari fungsi tersebut ke ruang alamat partisi.
Alokasikan sumber daya dengan WHvAllocateVpciResource sebelum memanggil fungsi ini. Setelah perangkat dibuat, petakan rentang MMIO-nya dengan WHvMapVpciDeviceMmioRanges dan interupsinya dengan WHvMapVpciDeviceInterrupt. Hancurkan perangkat dengan WHvDeleteVpciDevice.
Requirements
| Persyaratan | Nilai |
|---|---|
| Windows minimum yang didukung | Windows 10, versi 20H2 (x64); Windows 11, versi 24H2, build 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Perpustakaan | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |
Baca juga
WHvAllocateVpciResourceWHvDeleteVpciDeviceWHvGetVpciDeviceNotificationWHvMapVpciDeviceMmioRanges- Jenis Data PCI Virtual
- Definisi API Platform Hypervisor Windows