Bagikan melalui


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

Lihat juga

PCI_VIRTUALIZATION_INTERFACE