fungsi MINIPORT_SYNCHRONOUS_OID_REQUEST (ndis.h)

NDIS memanggil fungsi panggilan balik MiniportSynchronousOidRequest driver miniport untuk mengeluarkan permintaan OID Sinkron.

Sintaks

NDIS_STATUS MINIPORT_SYNCHRONOUS_OID_REQUEST(
  [in] NDIS_HANDLE      MiniportAdapterContext,
  [in] NDIS_OID_REQUEST *OidRequest
);

Parameter

[in] MiniportAdapterContext

Handel ke area konteks yang dialokasikan driver miniport dalam fungsi MiniportInitializeEx-nya . Driver miniport menggunakan area konteks ini untuk mempertahankan informasi status untuk adaptor miniport.

[in] OidRequest

Penunjuk ke struktur NDIS_OID_REQUEST yang berisi buffer dan paket permintaan untuk ditangani driver miniport. Tergantung pada permintaan, driver mengembalikan informasi yang diminta dalam struktur yang disediakan.

Nilai kembali

MiniportSynchronousOidRequest dapat mengembalikan salah satu nilai status berikut:

Menampilkan kode Deskripsi
NDIS_STATUS_SUCCESS
Driver miniport mengatur atau memperoleh data seperti yang diminta.
NDIS_STATUS_INVALID_OID
Permintaan yang ditentukan OidRequest tidak valid atau tidak dikenali.
NDIS_STATUS_NOT_SUPPORTED
Permintaan yang ditentukan OidRequest diakui, tetapi driver miniport tidak mendukungnya.
NDIS_STATUS_BUFFER_TOO_SHORT
Buffer yang disediakan OidRequest terlalu kecil untuk menyimpan data yang diminta.
NDIS_STATUS_INVALID_LENGTH
Nilai yang ditentukan dalam anggota InformationBufferLength dari struktur NDIS_OID_REQUEST di OidRequest salah untuk kode OID_Xxx yang ditentukan.
NDIS_STATUS_INVALID_DATA
Satu atau beberapa parameter yang ditentukan untuk permintaan di OidRequest tidak valid.
NDIS_STATUS_INDICATION_REQUIRED
Driver miniport akan memberikan status penyelesaian OID dengan indikasi status berikutnya. Driver miniport tidak dapat mengembalikan NDIS_STATUS_INDICATION_REQUIRED kecuali OID tertentu mengizinkannya. Untuk menentukan apakah status ini diizinkan, lihat halaman referensi OID. Untuk informasi selengkapnya tentang NDIS_STATUS_INDICATION_REQUIRED, lihat NDIS_OID_REQUEST dan NDIS_STATUS_INDICATION.
NDIS_STATUS_NOT_ACCEPTED
Setelah memanggil Fungsi MiniportDevicePnPEventNotify untuk menunjukkan penghapusan mendadak, NDIS disebut fungsi MiniportHaltEx driver. Jika driver menerima permintaan OID sebelum NDIS memanggil MiniportHaltEx, driver harus segera menyelesaikan permintaan tersebut dengan nilai status NDIS_STATUS_NOT_ACCEPTED.

Driver miniport tidak selalu diharuskan untuk mengembalikan NDIS_STATUS_NOT_ACCEPTED untuk semua OID setelah penghapusan mendadak, tetapi melakukannya membantu menjelaskan mengapa panggilan gagal.

Keterangan

MiniportSynchronousOidRequest adalah fungsi opsional. Driver miniport mendaftarkan fungsi ini jika menangani permintaan OID Sinkron. Driver menentukan titik masuk MiniportSynchronousOidRequest saat memanggil fungsi NdisMRegisterMiniportDriver , menggunakan anggota SynchronousOidRequestHandler dari struktur NDIS_MINIPORT_DRIVER_CHARACTERISTICS .

Driver miniport tidak boleh mengembalikan NDIS_STATUS_PENDING atau NDIS_STATUS_REQUEST_ABORTED dari MiniportSynchronousOidRequest. Permintaan OID sinkron tidak dapat ditunda atau dibatalkan.

Driver miniport dapat kembali NDIS_STATUS_NOT_ACCEPTED setelah NDIS memanggil MiniportDevicePnPEventNotify untuk memberi tahu driver tentang penghapusan kejutan perangkat. Namun, driver miniport mungkin masih menyelesaikan permintaan OID dengan kode status yang berbeda, jika memungkinkan untuk melakukannya. Untuk informasi selengkapnya, lihat dokumentasi spesifik setiap OID.

Driver Miniport diharapkan menyelesaikan permintaan OID sinkron dengan cepat tanpa memblokir, menunggu, atau tidur. Permintaan OID sinkron hanya digunakan untuk operasi latensi rendah, dan driver miniport harus berusaha untuk menyelesaikannya dalam beberapa milidetik. Sebagian besar permintaan OID dikirimkan ke MiniportOidRequest, yang diizinkan untuk menunggu atau menunggu durasi yang lebih lama.

NDIS tidak menserialisasikan permintaan OID Sinkron satu sama lain, terhadap permintaan OID lainnya, terhadap MiniportPause, terhadap MiniportResetEx, atau terhadap transisi daya. Adalah tanggung jawab driver miniport untuk menerapkan sinkronisasinya sendiri dan untuk gagal permintaan yang dikirimkan pada saat permintaan tidak dapat ditangani dengan sukses.

NDIS melakukan serialisasi permintaan OID Sinkron terhadap MiniportHaltEx; NDIS menjamin bahwa tidak ada permintaan OID sinkron yang akan aktif setelah MiniportHaltEx dipanggil.

Driver Miniport yang mengimplementasikan NDIS Selective Suspend tidak kompatibel dengan OID Sinkron dan tidak boleh mendaftarkan handler MiniportSynchronousOidRequest .

Persyaratan

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

Lihat juga

MiniportDevicePnPEventNotify

MiniportHaltEx

MiniportInitializeEx

MiniportOidRequest

MiniportPause

MiniportResetEx

NDIS_MINIPORT_DRIVER_CHARACTERISTICS

NDIS_OID_REQUEST

NDIS_STATUS_INDICATION

NdisMRegisterMiniportDriver

Antarmuka Permintaan OID Sinkron di NDIS 6.80