Fungsi NdisSynchronousOidRequest (ndis.h)

Driver protokol memanggil fungsi NdisSynchronousOidRequest untuk memulai permintaan OID Sinkron baru dan menerbitkannya ke driver yang mendasar.

Sintaks

NDIS_STATUS NdisSynchronousOidRequest(
  [in] NDIS_HANDLE      NdisBindingHandle,
  [in] NDIS_OID_REQUEST *OidRequest
);

Parameter

[in] NdisBindingHandle

Handel yang dikembalikan oleh fungsi NdisOpenAdapterEx yang mengidentifikasi adaptor miniport target pada pengikatan.

[in] OidRequest

Penunjuk ke struktur NDIS_OID_REQUEST yang menentukan operasi yang diminta dengan kode OID_Xxx tertentu . Struktur dapat menentukan permintaan kueri, set, atau metode OID.

Nilai kembali

Driver yang mendasar menentukan kode NDIS_STATUS_XXX mana yang dikembalikan NdisSynchronousOidRequest , tetapi biasanya merupakan salah satu nilai berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Operasi permintaan berhasil diselesaikan.
NDIS_STATUS_INVALID_OID
Kode OID_Xxx yang ditentukan dalam anggota Oid dari buffer terstruktur NDIS_OID_REQUEST di 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 buffer terstruktur NDIS_OID_REQUEST di OidRequest tidak cocok dengan persyaratan untuk kode OID_Xxx yang diberikan. Jika buffer informasi terlalu kecil, anggota BytesNeeded berisi nilai yang benar untuk InformationBufferLength saat dikembalikan dari NdisSynchronousOidRequest.
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 yang mendasar 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, yang dikirimkan nanti, akan gagal karena alasan yang sama.
NDIS_STATUS_NOT_ACCEPTED
Driver yang mendasar mencoba operasi yang diminta, biasanya satu set pada NIC, tetapi gagal. Misalnya, upaya untuk mengatur terlalu banyak alamat multicast dapat menyebabkan pengembalian nilai ini.
NDIS_STATUS_CLOSING atau NDIS_STATUS_CLOSING_INDICATING
Driver yang mendasar gagal dalam operasi yang diminta karena operasi penutupan sedang berlangsung.
NDIS_STATUS_RESET_IN_PROGRESS
Driver miniport yang mendasar tidak dapat memenuhi permintaan saat ini karena saat ini sedang mengatur ulang NIC yang terpengaruh. Fungsi ProtocolStatusEx penelepon adalah atau akan dipanggil dengan NDIS_STATUS_RESET_START untuk menunjukkan bahwa reset sedang berlangsung. Nilai pengembalian ini tidak selalu menunjukkan bahwa permintaan yang sama, yang dikirimkan nanti, akan gagal karena alasan yang sama.
NDIS_STATUS_FAILURE
Nilai ini biasanya adalah default non-spesifik, dikembalikan ketika tidak ada nilai NDIS_STATUS_Xxx yang lebih spesifik yang menyebabkan driver yang mendasar gagal dalam permintaan.

Keterangan

Fungsi NdisSynchronousOidRequest tidak dapat digunakan untuk permintaan OID umum. Untuk permintaan OID umum, gunakan fungsi NdisOidRequest sebagai gantinya. NdisSynchronousOidRequest hanya dapat digunakan untuk OID yang didukung NDIS untuk digunakan dengan antarmuka OID Sinkron. Sebagian besar driver protokol tidak perlu memanggil NdisSynchronousOidRequest

Driver protokol tidak boleh menutup pengikatan adaptor sampai permintaan OID Sinkron yang berasal dari driver protokol selesai.

Driver protokol tidak diperlukan untuk mengimplementasikan ProtocolOidRequestComplete atau ProtocolDirectOidRequestComplete untuk memanggil NdisSynchronousOidRequest. Seperti namanya, permintaan OID Sinkron selalu selesai secara sinkron, sehingga tidak ada panggilan balik asinkron.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, versi 1709
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL

Lihat juga

NDIS_OID_REQUEST

NdisOidRequest

NdisOpenAdapterEx

ProtocolDirectOidRequestComplete

ProtocolOidRequestComplete

ProtocolStatusEx