OID_SRIOV_PROBED_BARS

NDIS mengeluarkan permintaan kueri pengidentifikasi objek (OID) OID_SRIOV_PROBED_BARS untuk mendapatkan nilai PCI Express (PCIe) Base Address Registers (PCIe) adaptor jaringan. Fungsi ini mengembalikan nilai BAR yang dilaporkan oleh adaptor jaringan setelah kueri yang dilakukan oleh driver bus PCI. Kueri ini menentukan ruang alamat memori atau I/O yang diperlukan oleh adaptor jaringan.

NDIS mengeluarkan permintaan kueri OID OID_SRIOV_PROBED_BARS ke driver miniport untuk PCIe Physical Function (PF) adaptor jaringan. Permintaan kueri OID ini diperlukan untuk driver miniport PF yang mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV).

Anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke buffer. Buffer ini diformat untuk memuat hal berikut:

  • Struktur NDIS_SRIOV_PROBED_BARS_INFO yang berisi parameter untuk operasi baca pada PCI BAR adaptor jaringan.

  • Array nilai ULONG untuk setiap BAR adaptor jaringan PCIe. Jumlah maksimum elemen dalam array ini adalah PCI_TYPE0_ADDRESSES.

Keterangan

Driver bus PCI, yang berjalan dalam sistem operasi manajemen partisi induk Hyper-V, meminta memori atau persyaratan ruang alamat I/O dari setiap PCI Base Address Register (BAR) adaptor jaringan. Driver bus PCI melakukan kueri ini saat pertama kali mendeteksi adaptor pada bus.

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

  • Apakah PCI BAR didukung oleh adaptor jaringan.

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

Driver bus PCI virtual (VPCI) berjalan dalam sistem operasi tamu partisi anak Hyper-V. Ketika Fungsi Virtual (VF) PCI Express (PCIe) melekat pada partisi anak, driver bus VPCI akan mengekspos adaptor jaringan virtual untuk VF (adaptor jaringan VF). Sebelum melakukan ini, driver bus VPCI harus melakukan kueri PCI BAR untuk menentukan memori atau ruang alamat yang diperlukan oleh adaptor jaringan VF.

Karena akses ke ruang konfigurasi PCI adalah operasi istimewa, itu hanya dapat dilakukan oleh komponen yang berjalan dalam sistem operasi manajemen partisi induk Hyper-V. Ketika driver bus VPCI meminta PCI BAR, NDIS mengeluarkan permintaan kueri OID OID_SRIOV_PROBED_BARS ke driver miniport PF. Hasil yang dikembalikan oleh permintaan kueri OID ini diteruskan ke driver bus VPCI sehingga dapat menentukan berapa banyak ruang alamat memori yang akan diperlukan oleh adaptor jaringan VF.

Catatan Permintaan OID_SRIOV_PROBED_BARS OID hanya dapat dikeluarkan oleh NDIS. Permintaan OID tidak boleh dikeluarkan oleh driver yang terlalu mengandalkan, seperti protokol driver filter.

Permintaan kueri OID_SRIOV_PROBED_BARS berisi struktur NDIS_SRIOV_PROBED_BARS_INFO . Ketika driver miniport PF menangani OID ini, driver harus mengembalikan nilai PCI BAR dalam array yang direferensikan oleh anggota BaseRegisterValuesOffset dari struktur NDIS_SRIOV_PROBED_BARS_INFO . Untuk setiap offset dalam array, driver miniport PF harus mengatur elemen array ke nilai ULONG BAR pada offset yang sama dalam ruang konfigurasi PCI adaptor fisik.

Setiap nilai BAR yang dikembalikan oleh driver harus memiliki nilai yang sama yang akan mengikuti kueri PCI BAR seperti yang dilakukan oleh driver PCI yang berjalan dalam sistem operasi manajemen. Driver miniport PF dapat memanggil NdisMQueryProbedBars untuk menentukan informasi ini.

Untuk informasi selengkapnya tentang BAR perangkat PCI, lihat Spesifikasi Bus Lokal PCI.

Untuk informasi selengkapnya tentang cara mengkueri pendaftaran PCI BAR untuk VF, lihat Mengkueri Daftar Alamat Dasar PCI dari Fungsi Virtual.

Mengembalikan Kode Status

Driver miniport PF mengembalikan salah satu kode status berikut untuk permintaan kueri OID_SRIOV_PROBED_BARS:

Kode Status Deskripsi

NDIS_STATUS_SUCCESS

Permintaan OID berhasil diselesaikan.

NDIS_STATUS_NOT_SUPPORTED

Driver miniport PF tidak mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV) atau tidak diaktifkan untuk menggunakan antarmuka.

NDIS_STATUS_INVALID_PARAMETER

Satu atau beberapa anggota struktur NDIS_SRIOV_PROBED_BARS_INFO memiliki nilai yang tidak valid.

NDIS_STATUS_INVALID_LENGTH

Buffer informasi kurang dari (sizeof(NDIS_SRIOV_PROBED_BARS_INFO) + PCI_TYPE0_ADDRESSES). Driver miniport PF harus mengatur DATA. QUERY_INFORMATION. Anggota BytesNeeded dalam struktur NDIS_OID_REQUEST ke ukuran buffer minimum yang diperlukan.

NDIS_STATUS_FAILURE

Permintaan gagal karena alasan lain.

Persyaratan

Versi

Didukung di NDIS 6.30 dan yang lebih baru.

Header

Ntddndis.h (termasuk Ndis.h)

Lihat juga


NDIS_OID_REQUEST

NDIS_SRIOV_PROBED_BARS_INFO

NdisMQueryProbedBars