Fungsi NdisMQueryProbedBars (ndis.h)
Driver miniport memanggil fungsi NdisMQueryProbedBars untuk mendapatkan nilai Base Address Register (RS) PCI Express (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.
Sintaks
NDIS_STATUS NdisMQueryProbedBars(
[in] NDIS_HANDLE NdisMiniportHandle,
[out] PULONG BaseRegisterValues
);
Parameter
[in] NdisMiniportHandle
Adaptor jaringan menangani NDIS yang diteruskan ke parameter MiniportAdapterHandle dari MiniportInitializeEx.
[out] BaseRegisterValues
Penunjuk ke array nilai ULONG. Array berisi nilai ULONG untuk setiap BAR adaptor jaringan PCIe.
Nilai kembali
NdisMQueryProbedBars dapat mengembalikan salah satu nilai status berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Operasi kueri berhasil diselesaikan. |
|
Operasi kueri gagal. |
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 memori atau ruang alamat I/O yang diperlukan untuk BAR.
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 pengidentifikasi objek (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.
Selama penanganan permintaan OID ini, driver dapat memanggil NdisMQueryProbedBars untuk mendapatkan nilai yang dikembalikan dari kueri BAR yang dilakukan oleh driver PCI.
Untuk informasi selengkapnya tentang cara mengkueri daftar PCI BAR untuk VF, lihat Mengkueri Daftar Alamat Dasar PCI dari Fungsi Virtual.
Untuk informasi selengkapnya tentang antarmuka SR-IOV, lihat Gambaran Umum Virtualisasi I/O Root Tunggal (SR-IOV).
Interfacing ke Driver Virtual Bus
Jika vendor perangkat keras independen (IHV) menyediakan driver bus virtual (VBD) sebagai bagian dari paket driver SR-IOV-nya, driver miniportnya tidak boleh memanggil NdisMQueryProbedBars. Sebagai gantinya, driver harus berinteraksi dengan VBD melalui saluran komunikasi privat, dan meminta agar VBD memanggil GetVirtualFunctionProbedBars. Fungsi ini diekspos dari antarmuka GUID_PCI_VIRTUALIZATION_INTERFACE yang didukung oleh driver bus PCI yang mendasar.VBD yang berjalan dalam sistem operasi manajemen partisi induk Hyper-V dapat meminta antarmuka GUID_PCI_VIRTUALIZATION_INTERFACE dengan mengeluarkan permintaan IRP_MN_QUERY_INTERFACE ke objek perangkat fisik (PDO) pada bus PCI. Permintaan ini harus dibuat dari IRQL = PASSIVE_LEVEL. Dalam permintaan ini, driver harus mengatur parameter InterfaceType ke GUID_PCI_VIRTUALIZATION_INTERFACE.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.30 dan yang lebih baru. |
Target Platform | Universal |
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk