Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bir sanal PCI (VPCI) cihazı oluşturur ve kaynaklarını bir bölüme atar.
Sözdizimi
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
Bölüm nesnesi için tanıtıcı.
LogicalDeviceId
Bölüm kapsamında cihaz için benzersiz bir tanımlayıcı belirtir.
VpciResource
Sanal cihazı destekleyen daha önce ayrılmış bir VPCI kaynağını işleyin. Bu tanıtıcıyı uygulamasından WHvAllocateVpciResourcealın.
Flags
Oluşturulacak cihazın isteğe bağlı özelliklerini değerlerin WHV_CREATE_VPCI_DEVICE_FLAGS bir bileşimi olarak belirtir.
NotificationEventHandle
VPCI cihazıyla ilişkili zaman uyumsuz olayları çağıranı bilgilendirmek için işaretlenen bir olayın isteğe bağlı tanıtıcısını belirtir. Olay sinyallendiğinde ile WHvGetVpciDeviceNotificationbekleyen bildirimleri alın.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri olur S_OK.
Açıklamalar
WHvCreateVpciDevice İşlev bir sanal PCI cihazı oluşturur ve tarafından VpciResource tanımlanan fiziksel veya sanal kaynakları bölüme atar. Bu çağrı tamamlandıktan sonra IOMMU, cihazı destekleyen fiziksel veya sanal işlevin PCI istek sahibi kimliğinin bölüm etki alanına atanması için programlanır ve bu işlevden kaynaklanan tüm DMA işlemleri bölümün adres alanına yeniden eşler.
Bu işlevi çağırmadan önce kaynağı ile WHvAllocateVpciResource ayırın. Cihaz oluşturulduktan sonra MMIO aralıklarını ile WHvMapVpciDeviceMmioRanges ve kesmelerini ile eşleyin WHvMapVpciDeviceInterrupt. ile WHvDeleteVpciDevicecihazı yok edin.
Requirements
| Requirement | Değer |
|---|---|
| Desteklenen en düşük Windows | Windows 10, sürüm 20H2 (x64); Windows 11, sürüm 24H2, derleme 26100.3915 (Arm64) |
| Header | WinHvPlatform.h |
| Kütüphane | WinHvPlatform.lib |
| DLL | WinHvPlatform.dll |
| Architecture | x64, Arm64 |