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 |
---|---|
|
Driver miniport mengatur atau memperoleh data seperti yang diminta. |
|
Permintaan yang ditentukan OidRequest tidak valid atau tidak dikenali. |
|
Permintaan yang ditentukan OidRequest diakui, tetapi driver miniport tidak mendukungnya. |
|
Buffer yang disediakan OidRequest terlalu kecil untuk menyimpan data yang diminta. |
|
Nilai yang ditentukan dalam anggota InformationBufferLength dari struktur NDIS_OID_REQUEST di OidRequest salah untuk kode OID_Xxx yang ditentukan. |
|
Satu atau beberapa parameter yang ditentukan untuk permintaan di OidRequest tidak valid. |
|
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. |
|
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
MiniportDevicePnPEventNotifySaran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk