Fungsi NdisMGetVirtualFunctionBusData (ndis.h)

Driver miniport memanggil fungsi NdisMGetVirtualFunctionBusData untuk membaca data dari ruang konfigurasi PCI Express (PCIe) dari Fungsi Virtual (VF) tertentu pada adaptor jaringan.

CatatanNdisMGetVirtualFunctionBusData hanya boleh dipanggil oleh driver miniport untuk PCIe Physical Function (PF) adaptor jaringan.
 

Sintaks

ULONG NdisMGetVirtualFunctionBusData(
  [in]  NDIS_HANDLE            NdisMiniportHandle,
  [in]  NDIS_SRIOV_FUNCTION_ID VFId,
  [out] PVOID                  Buffer,
  [in]  ULONG                  Offset,
  [in]  ULONG                  Length
);

Parameter

[in] NdisMiniportHandle

Adaptor jaringan menangani NDIS yang diteruskan ke parameter MiniportAdapterHandle dari MiniportInitializeEx.

[in] VFId

Pengidentifikasi VF tempat data dari ruang konfigurasi PCI dikembalikan.

[out] Buffer

Pointer ke buffer yang menerima data yang dibaca dari ruang konfigurasi PCI VF.

[in] Offset

Offset, dalam satuan byte, di ruang konfigurasi PCI VF tempat data dibaca.

[in] Length

Panjangnya, dalam satuan byte, dari data yang akan dibaca.

Catatan Ukuran buffer yang dirujuk oleh Buffer harus setidaknya sebesar nilai parameter Panjang .
 

Nilai kembali

NdisMGetVirtualFunctionBusData mengembalikan jumlah byte yang dibaca dari ruang konfigurasi PCI. Jika operasi baca gagal, NdisMGetVirtualFunctionBusData mengembalikan nol.

Keterangan

Driver miniport PF biasanya memanggil NdisMGetVirtualFunctionBusData saat menangani permintaan metode OID OID_SRIOV_READ_VF_CONFIG_SPACE.
Namun, driver dapat memanggil fungsi ini kapan saja setelah virtualisasi diaktifkan pada adaptor jaringan melalui panggilan ke NdisMEnableVirtualization.

Untuk informasi selengkapnya tentang cara mengkueri ruang konfigurasi PCI VF, lihat Mengkueri Ruang Konfigurasi PCI untuk 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 NdisMGetVirtualFunctionBusData. Sebagai gantinya, driver harus berinteraksi dengan VBD melalui saluran komunikasi privat, dan meminta agar VBD memanggil GetVirtualFunctionData. 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 Tidak ada yang didukung, Didukung di NDIS 6.30 dan yang lebih baru.
Server minimum yang didukung Windows Server 2012
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL

Lihat juga

GUID_PCI_VIRTUALIZATION_INTERFACE

GetVirtualFunctionData

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE