Fungsi NdisMCmOidRequest (ndis.h)

Fungsi NdisMCmOidRequest mengirimkan permintaan OID dari driver manajer panggilan miniport (MCM) ke klien CoNDIS.

Sintaks

NDIS_STATUS NdisMCmOidRequest(
  [in]           NDIS_HANDLE       NdisAfHandle,
  [in, optional] NDIS_HANDLE       NdisVcHandle,
  [in, optional] NDIS_HANDLE       NdisPartyHandle,
                 PNDIS_OID_REQUEST NdisOidRequest
);

Parameter

[in] NdisAfHandle

Handel yang mengidentifikasi keluarga alamat (AF), dan secara implisit klien, yang diarahkan oleh permintaan OID. Driver MCM awalnya memperoleh handel ini sebagai parameter input untuk fungsi ProtocolCmOpenAf-nya .

[in, optional] NdisVcHandle

Handel yang mengidentifikasi koneksi virtual (VC) yang diminta atau diatur informasi pemanggil, jika permintaannya khusus VC. Jika tidak, jika permintaan ini tidak spesifik VC, parameter ini adalah NULL. Untuk setiap permintaan khusus VC, pemanggil awalnya mendapatkan handel ini baik ketika membuat VC dengan fungsi NdisMCmCreateVc , atau sebagai parameter input ke fungsi ProtocolCoCreateVc-nya .

[in, optional] NdisPartyHandle

Handel yang mengidentifikasi pihak pada VC multipoint tempat pemanggil meminta atau mengatur informasi, jika permintaan tersebut khusus untuk pihak. Jika tidak, jika permintaan ini tidak spesifik untuk pihak, parameter ini adalah NULL. Untuk permintaan khusus pihak mana pun, driver MCM awalnya memperoleh handel ini sebagai parameter input untuk fungsi ProtocolCmAddParty-nya .

NdisOidRequest

Penunjuk ke buffer yang dialokasikan penelepon yang berisi struktur NDIS_OID_REQUEST .

Nilai kembali

NdisMCmOidRequest mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Operasi permintaan berhasil diselesaikan.
NDIS_STATUS_PENDING
Permintaan sedang ditangani secara asinkron, dan NDIS akan memanggil pemanggil Fungsi ProtocolCoOidRequestComplete saat permintaan selesai.
NDIS_STATUS_INVALID_OID
Kode OID_XXX yang ditentukan dalam anggota Oid dari struktur NDIS_OID_REQUEST pada parameter OidRequest tidak valid atau tidak didukung oleh driver yang mendasar.
NDIS_STATUS_INVALID_LENGTH atau NDIS_STATUS_BUFFER_TOO_SHORT
Nilai yang ditentukan dalam anggota InformationBufferLength dari struktur NDIS_OID_REQUEST di OidRequest tidak cocok dengan persyaratan untuk kode OID_XXX yang diberikan. Jika buffer informasi terlalu kecil, anggota BytesNeeded dari NDIS_OID_REQUEST berisi nilai yang benar untuk InformationBufferLength, saat NdisMCmOidRequest kembali.
NDIS_STATUS_INVALID_DATA
Data yang disediakan di InformationBuffer dalam struktur NDIS_OID_REQUEST yang diberikan tidak valid untuk kode OID_XXX yang diberikan.
NDIS_STATUS_NOT_SUPPORTED atau NDIS_STATUS_NOT_RECOGNIZED
Driver klien tidak mendukung operasi yang diminta.
NDIS_STATUS_RESOURCES
Permintaan tidak dapat dipenuhi karena kekurangan sumber daya. Biasanya, nilai pengembalian ini menunjukkan bahwa upaya untuk mengalokasikan memori tidak berhasil, tetapi tidak selalu menunjukkan bahwa permintaan yang sama, jika dikirimkan nanti, akan gagal karena alasan yang sama.
NDIS_STATUS_FAILURE
Nilai ini biasanya adalah default nonspesfik yang dikembalikan ketika tidak ada kode status NDIS_STATUS_XXX yang lebih spesifik berlaku.
NDIS_STATUS_REQUEST_ABORTED
Driver target berhenti memproses permintaan.

Keterangan

Untuk memulai permintaan OID ke klien CoNDIS, driver MCM memanggil fungsi NdisMCmOidRequest . Sebelum driver MCM memanggil NdisMCmOidRequest, driver mengalokasikan memori untuk permintaannya dan menginisialisasi struktur NDIS_OID_REQUEST . MCM menetapkan anggota Oid dari struktur NDIS_OID_REQUEST dengan kode OID CoNDIS.

Driver MCM dapat memanggil NdisMCmOidRequest untuk mengomunikasikan informasi berorientasi koneksi, seperti perubahan alamat ke klien yang diidentifikasi oleh parameter NdisAfHandle .

Setelah MCM memanggil NdisMCmOidRequest, NDIS memanggil fungsi ProtocolCoOidRequest klien.

Jika permintaan driver MCM khusus VC atau khusus pihak, driver MCM juga meneruskan nilai non-NULL pada parameter NdisVcHandle atau NdisPartyHandle .

Jika NdisMCmOidRequest mengembalikan NDIS_STATUS_PENDING, permintaan sedang ditangani secara asinkron dan NDIS akan memanggil MCM Fungsi ProtocolCoOidRequestComplete saat permintaan selesai. Jika NdisMCmOidRequest mengembalikan status lain, permintaan selesai ketika NdisMCmOidRequest kembali dan NDIS tidak memanggil ProtocolCoOidRequestComplete.

Untuk informasi selengkapnya tentang OID yang ditentukan untuk digunakan dengan NdisMCmOidRequest, lihat OID NDIS.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Desktop
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Irql_MCM_Function(ndis)

Lihat juga

NDIS_OID_REQUEST

NdisMCmCreateVc

ProtocolCmAddParty

ProtocolCmOpenAf

ProtocolCoCreateVc

ProtocolCooidRequest

ProtocolCooidRequestComplete