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.
Sanal PCI (VPCI) cihazının MMIO aralıklarını çağıranın işlemine eşler.
Sözdizimi
typedef enum WHV_VPCI_DEVICE_REGISTER_SPACE
{
WHvVpciConfigSpace = -1,
WHvVpciBar0 = 0,
WHvVpciBar1 = 1,
WHvVpciBar2 = 2,
WHvVpciBar3 = 3,
WHvVpciBar4 = 4,
WHvVpciBar5 = 5
} WHV_VPCI_DEVICE_REGISTER_SPACE;
typedef enum WHV_VPCI_MMIO_RANGE_FLAGS
{
WHvVpciMmioRangeFlagReadAccess = 0x00000001,
WHvVpciMmioRangeFlagWriteAccess = 0x00000002
} WHV_VPCI_MMIO_RANGE_FLAGS;
// Enables bitwise operators on the WHV_VPCI_MMIO_RANGE_FLAGS enumeration.
DEFINE_ENUM_FLAG_OPERATORS(WHV_VPCI_MMIO_RANGE_FLAGS);
typedef struct WHV_VPCI_MMIO_MAPPING
{
WHV_VPCI_DEVICE_REGISTER_SPACE Location;
WHV_VPCI_MMIO_RANGE_FLAGS Flags;
UINT64 SizeInBytes;
UINT64 OffsetInBytes;
PVOID VirtualAddress;
} WHV_VPCI_MMIO_MAPPING;
HRESULT
WINAPI
WHvMapVpciDeviceMmioRanges(
_In_ WHV_PARTITION_HANDLE Partition,
_In_ UINT64 LogicalDeviceId,
_Out_ UINT32* MappingCount,
_Outptr_result_buffer_(*MappingCount) WHV_VPCI_MMIO_MAPPING** Mappings
);
Parameters
Partition
VPCI cihazının sahibi olan bölümün işleyicisi.
LogicalDeviceId
VPCI cihazının mantıksal cihaz tanımlayıcısını belirtir.
MappingCount
Döndürülen Mappings dizideki öğe sayısını alır.
Mappings
Eşlenmiş MMIO aralıklarını açıklayan bir öğe dizisine WHV_VPCI_MMIO_MAPPING yönelik bir işaretçi alır.
Dönüş Değeri
İşlev başarılı olursa, dönüş değeri olur S_OK.
Açıklamalar
İşlev, WHvMapVpciDeviceMmioRanges bir VPCI cihazıyla ilişkili fiziksel MMIO aralıklarını çağıranın işleminin sanal adres alanına eşler. Cihaz D0 güç durumunda olmalıdır; ile WHvSetVpciDevicePowerStategüç durumunu ayarlayın.
Kullanılabilir her temel adres kaydı (BAR), dizideki Mappings bir veya daha fazla girişle temsil edilir. Girdiler öncelikli olarak BAR'a göre sıralanır. Aynı ÇUBUK için girişler uzaklık ölçütüne göre sıralanır, çakışmaz ve araya girilmiş boşluklar olmadan ÇUBUK'un tüm boyutunu kapsar. Her giriş, temel adresten ve belirtilen uzunluktan belirtilen uzaklıkta, alt aralığın eşlendiği sanal adresten ve çağıranın işlemine verilen erişim düzeyinden başlayarak ÇUBUK'un bir alt aralığını tanımlar.
Döndürülen dizi, çağıran ile cihazın MMIO aralıklarının WHvUnmapVpciDeviceMmioRangeseşlemesini kaldırana veya ile cihazı WHvSetVpciDevicePowerStateyok edene WHvDeleteVpciDevicekadar geçerli kalır.
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 |