GET_VIRTUAL_DEVICE_LOCATION fungsi panggilan balik (wdm.h)
Rutinitas GetLocation mengembalikan lokasi perangkat fungsi virtual (VF) PCI Express (PCIe) pada bus PCI. Perangkat yang mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV) dapat mengekspos satu atau beberapa VF pada bus PCI.
Sintaks
GET_VIRTUAL_DEVICE_LOCATION GetVirtualDeviceLocation;
NTSTATUS GetVirtualDeviceLocation(
[in, out] PVOID Context,
[in] USHORT VirtualFunction,
[out] PUINT16 SegmentNumber,
[out] PUINT8 BusNumber,
[out] PUINT8 FunctionNumber
)
{...}
Parameter
[in, out] Context
Penunjuk ke informasi konteks khusus antarmuka. Penelepon meneruskan nilai yang diteruskan sebagai anggota Konteks dari struktur PCI_VIRTUALIZATION_INTERFACE untuk antarmuka.
[in] VirtualFunction
Nilai berbasis nol yang menentukan VF pada perangkat tempat lokasi perangkat dikembalikan
[out] SegmentNumber
Pointer ke variabel yang disediakan penelepon di mana rutinitas ini mengembalikan nilai UINT16 untuk nomor segmen PCI saat ini. Nilai ini menentukan grup bus PCI tempat perangkat terpasang.
[out] BusNumber
Pointer ke variabel yang disediakan penelepon di mana rutinitas ini mengembalikan nilai UINT8. Nilai ini menentukan nomor bus PCI saat ini tempat perangkat terpasang.
[out] FunctionNumber
Pointer ke variabel yang disediakan penelepon di mana rutinitas ini mengembalikan nilai UINT8. Nilai ini berisi nomor fungsi untuk VF yang ditentukan pada bus PCI.
Nilai kembali
Rutinitas GetLocation mengembalikan salah satu nilai NTSTATUS berikut ini:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | Operasi berhasil diselesaikan. |
STATUS_INVALID_PARAMETER | Parameter VirtualFunction lebih besar dari nilai anggota TotalVFs dari struktur SR-IOV Extended Capability untuk perangkat. |
Keterangan
Rutinitas GetLocation mengembalikan lokasi perangkat VF saat ini dalam hierarki PCIe. Informasi ini diperlukan untuk sistem virtualisasi yang menggunakan unit manajemen memori I/O (IOMMU) untuk merutekan lalu lintas ke atau dari perangkat.
Setelah berhasil kembali dari panggilan ke rutinitas GetLocation , parameter FunctionNumber berisi nilai yang mewakili nomor fungsi untuk VF yang ditentukan pada bus PCI. Nilai ini didasarkan pada opsi Interpretasi Perutean Alternatif (ARI) dari spesifikasi PCI Express 3.0. ARI memperlakukan bus PCIe sebagai perangkat tunggal dengan ruang fungsi 8-bit, yang memungkinkan 256 fungsi pada bus.
Rutinitas GetLocation disediakan oleh antarmuka GUID_PCI_VIRTUALIZATION_INTERFACE .
Nomor bus PCI tempat VF berada dapat berubah. Kami tidak menyarankan agar driver menyimpan lokasi perangkat untuk VF di penyimpanan nonvolatile seperti registri.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di Windows Server 2012 dan versi Windows Server yang lebih baru. |
Target Platform | Desktop |
Header | wdm.h (termasuk Wdm.h) |
IRQL | PASSIVE_LEVEL |