GET_VIRTUAL_FUNCTION_PROBED_BARS fungsi panggilan balik (wdm.h)

Rutinitas GetVirtualFunctionProbedBars mengembalikan nilai Base Address Register (BAR) PCI Express (PCIe) dari perangkat yang mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV).

GetVirtualFunctionProbedBars mengembalikan nilai BAR yang dilaporkan oleh perangkat setelah kueri yang dilakukan oleh driver bus PCI. Kueri ini menentukan ruang alamat memori atau I/O yang diperlukan oleh perangkat.

Sintaks

GET_VIRTUAL_FUNCTION_PROBED_BARS GetVirtualFunctionProbedBars;

NTSTATUS GetVirtualFunctionProbedBars(
  [in, out] PVOID Context,
  [out]     PULONG BaseRegisterValues
)
{...}

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.

[out] BaseRegisterValues

Penunjuk ke array nilai ULONG. Rutinitas GetVirtualFunctionProbedBars mengembalikan nilai untuk setiap BAR perangkat.

GetVirtualFunctionProbedBars mengembalikan maksimum nilai PCI_TYPE0_ADDRESSES dalam array ini.

Nilai kembali

Rutinitas GetVirtualFunctionProbedBars mengembalikan salah satu nilai NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS Operasi berhasil diselesaikan.
STATUS_INVALID_DEVICE_STATE Perangkat tidak mendukung antarmuka SR-IOV.

Keterangan

Sopir bus PCI. yang berjalan dalam sistem operasi manajemen partisi induk Hyper-V, meminta memori atau persyaratan ruang alamat I/O dari setiap BAR perangkat. Driver bus PCI melakukan kueri ini ketika pertama kali mendeteksi adaptor pada bus.

Melalui kueri BAR ini, sopir bus PCI menentukan hal berikut:

  • Apakah BAR didukung oleh perangkat.

  • Jika BAR didukung, berapa banyak ruang alamat memori atau I/O yang diperlukan untuk BAR.

Driver PCI melakukan kueri BAR ini sebagai berikut:

  1. Sopir bus PCI menulis 0xFFFFFFFF ke BAR.

  2. Driver bus PCI membaca BAR untuk menentukan memori atau ruang alamat yang diperlukan perangkat. Nilai nol menunjukkan bahwa perangkat tidak mendukung BAR.

Rutinitas GetVirtualFunctionProbedBars disediakan oleh antarmuka GUID_PCI_VIRTUALIZATION_INTERFACE .

Catatan berikut berlaku untuk rutinitas GetVirtualFunctionProbedBars :

  • Antarmuka SR-IOV tidak mengharuskan BAR PCIe VF mematuhi protokol untuk menentukan ukuran blok memori atau ruang alamat I/O BAR. Oleh karena itu, driver PCI virtual (VPCI), yang berjalan dalam sistem operasi tamu, menentukan ukurannya dengan menggunakan ukuran yang setara dari BAR pada perangkat fisik. Driver VPCI mendapatkan informasi ini dengan memanggil rutinitas GetVirtualFunctionProbedBars .

  • Driver VPCI memerlukan ukuran memori atau ruang alamat I/O untuk setiap BAR setelah perangkat fisik dimulai. Pada saat itu, driver PCI tidak dapat melakukan kueri BAR pada perangkat tanpa mengubah nilai BAR saat ini. Oleh karena itu, ketika rutinitas GetVirtualFunctionProbedBars dipanggil oleh driver VPCI, driver PCI mengembalikan informasi BAR yang diperolehnya selama kueri BAR. Driver PCI melakukan kueri ini ketika perangkat pertama kali terdeteksi di bus.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di Windows Server 2012 dan versi Windows yang lebih baru.
Target Platform Desktop
Header wdm.h (termasuk Wdm.h)
IRQL PASSIVE_LEVEL

Lihat juga

PCI_VIRTUALIZATION_INTERFACE