OID_SRIOV_READ_VF_CONFIG_BLOCK

Driver yang terlalu berlebihan mengeluarkan permintaan metode pengidentifikasi objek (OID) OID_SRIOV_READ_VF_CONFIG_BLOCK untuk membaca data dari blok konfigurasi Fungsi Virtual (VF) PCI Express (PCIe) tertentu.

Driver yang terlalu berlebih mengeluarkan permintaan metode OID ini ke driver miniport untuk PCIe Physical Function (PF) adaptor jaringan. Permintaan metode 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 yang dialokasikan pemanggil. Buffer ini diformat untuk memuat hal berikut:

  • Struktur NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS yang berisi offset, dalam satuan byte, dari awal struktur ini hingga lokasi dalam buffer yang berisi data yang dibaca dari blok konfigurasi VF.

  • Ruang buffer tambahan untuk data yang akan dibaca dari blok konfigurasi VF yang ditentukan.

Keterangan

Blok konfigurasi VF digunakan untuk komunikasi backchannel antara driver miniport PF dan VF. IHV dapat menentukan satu atau beberapa blok konfigurasi VF untuk driver miniport. Setiap blok konfigurasi VF memiliki format, panjang, dan ID blok yang ditentukan IHV.

Catatan Data dari setiap blok konfigurasi VF hanya digunakan oleh driver miniport PF dan VF.

Sebelum mengeluarkan permintaan metode OID OID_SRIOV_READ_VF_CONFIG_BLOCK, driver yang terlalu berlebihan harus mengatur anggota struktur NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS dengan cara berikut:

  • Atur anggota VFId ke pengidentifikasi VF tempat informasi akan dibaca.

  • Atur anggota BlockId ke pengidentifikasi blok konfigurasi VF tempat informasi akan dibaca.

  • Atur anggota Panjang ke jumlah byte untuk dibaca dari blok konfigurasi.

  • Atur anggota BufferOffset ke offset dalam buffer (dirujuk oleh anggota InformationBuffer ) yang akan berisi data yang dibaca dari blok konfigurasi VF yang ditentukan. Offset ini ditentukan dalam satuan byte dari awal struktur NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS .

Ketika menangani permintaan metode OID OID_SRIOV_READ_VF_CONFIG_BLOCK, driver miniport PF harus mengikuti panduan berikut:

  • Driver miniport PF harus memverifikasi bahwa VF, yang ditentukan oleh anggota VFId dari struktur NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS , memiliki sumber daya yang sebelumnya telah dialokasikan. Driver miniport PF mengalokasikan sumber daya untuk VF selama permintaan metode OID OID_NIC_SWITCH_ALLOCATE_VF. Jika sumber daya untuk VF yang ditentukan belum dialokasikan, driver harus gagal dalam permintaan OID.

  • Driver miniport PF harus memverifikasi bahwa anggota BlockId dari struktur NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS menentukan blok konfigurasi VF yang valid. Jika tidak, driver harus gagal dalam permintaan OID.

Untuk informasi selengkapnya tentang komunikasi backchannel dalam antarmuka virtualisasi I/O root tunggal (SR-IOV), lihat Komunikasi Backchannel SR-IOV PF/VF.

Mengembalikan Kode Status

Driver miniport PF mengembalikan salah satu kode status berikut untuk permintaan metode OID_SRIOV_READ_VF_CONFIG_BLOCK.

Kode Status Deskripsi

NDIS_STATUS_SUCCESS

Permintaan OID berhasil diselesaikan.

NDIS_STATUS_NOT_SUPPORTED

Driver miniport 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_READ_VF_CONFIG_BLOCK_PARAMETERS memiliki nilai yang tidak valid.

NDIS_STATUS_INVALID_LENGTH

Buffer informasi terlalu pendek. Driver miniport harus mengatur DATA. METHOD_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_READ_VF_CONFIG_BLOCK_PARAMETERS

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE