Fungsi NdisRequest (ndis.h)
Catatan NDIS 5. x telah ditolak dan digantikan oleh NDIS 6. x. Untuk pengembangan driver NDIS baru, lihat Driver Jaringan Yang Dimulai dengan Windows Vista. Untuk informasi tentang port NDIS 5. x driver ke NDIS 6. x, lihat Memindahkan Driver NDIS 5.x ke NDIS 6.0.
NdisRequest meneruskan permintaan ke driver yang mendasar bahwa ia meminta kemampuan atau status NIC-nya atau mengatur status NIC-nya.
Sintaks
void NdisRequest(
[out] PNDIS_STATUS Status,
[in] NDIS_HANDLE NdisBindingHandle,
[in] PNDIS_REQUEST NdisRequest
);
Parameter
[out] Status
Penunjuk ke variabel yang disediakan penelepon yang diatur saat dikembalikan dari fungsi ini. Driver yang mendasar menentukan NDIS_STATUS_XXX mana yang dikembalikan, tetapi biasanya merupakan salah satu nilai berikut:
NDIS_STATUS_SUCCESS
Operasi yang diminta berhasil diselesaikan.NDIS_STATUS_PENDING
Permintaan sedang ditangani secara asinkron, dan fungsi ProtocolRequestComplete penelepon akan dipanggil ketika selesai.NDIS_STATUS_INVALID_OID
Kode OID_XXX yang ditentukan dalam anggota Oid dari buffer terstruktur NDIS_REQUEST di NdisRequest 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_REQUEST di NdisRequest 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 NdisRequest.NDIS_STATUS_INVALID_DATA
Data yang disediakan di InformationBuffer dalam struktur NDIS_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, 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-nya tetapi gagal oleh netcard. 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 penutupan sedang berlangsung.NDIS_STATUS_RESET_IN_PROGRESS
Driver NIC yang mendasar tidak dapat memenuhi permintaan saat ini karena saat ini sedang mengatur ulang netcard. Fungsi ProtocolStatus 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 merupakan default nonspesfik, dikembalikan ketika tidak ada NDIS_STATUS_XXXX yang lebih spesifik yang menyebabkan driver yang mendasar gagal dalam permintaan.
[in] NdisBindingHandle
Menentukan handel yang dikembalikan oleh NdisOpenAdapter yang mengidentifikasi NIC target atau adaptor virtual driver berikutnya yang lebih rendah tempat pemanggil terikat.
[in] NdisRequest
Penunjuk ke struktur buffer yang menentukan operasi yang diminta dengan kode OID_ XXX tertentu untuk kueri atau set.
Nilai kembali
Tidak ada
Keterangan
Driver protokol harus mengalokasikan memori yang cukup untuk buffer informasi yang terkait dengan OID_XXX dari operasi yang akan dimintanya. Driver juga harus mengalokasikan dan mengatur buffer di NdisRequest sebelum memanggil NdisRequest. Kedua buffer harus dialokasikan dari kumpulan yang tidak bertumpuk karena driver yang mendasarinya berjalan pada IRQL yang dinaikkan saat memproses permintaan.
Untuk pemanggil yang berlapis di atas driver NDIS perantara, NdisRequest meneruskan permintaan ke driver yang lebih rendah berikutnya bahwa ia mengembalikan informasi tentang kemampuannya sendiri atau mengarahkan driver tersebut untuk menangani fungsionalitas tertentu dengan cara yang ditentukan pemanggil. Jika driver berikutnya yang lebih rendah adalah driver perantara NDIS, driver tersebut dapat memanggil NdisRequest dengan permintaan khusus OID sendiri sebelum menyelesaikan permintaan yang awalnya diajukan oleh protokol tingkat yang lebih tinggi.
Beberapa kesalahan yang dikembalikan pada Status dapat dipulihkan, termasuk yang berikut ini:
NDIS_STATUS_INVALID_OID
NDIS_STATUS_INVALID_LENGTH
NDIS_STATUS_BUFFER_TOO_SHORT
NDIS_STATUS_INVALID_DATA
NDIS_STATUS_RESOURCES
NDIS_STATUS_RESET_IN_PROGRESS
Artinya, driver dapat memodifikasi paket di NdisRequest dengan tepat untuk memperbaiki kode OID_XXX dan/atau ukuran atau konten buffer di InformationBuffer dan mengirim ulang paket permintaan ke NdisRequest. Paket yang sama mungkin terpenuhi pada pengiriman ulang ke NdisRequest jika panggilan asli menunjukkan reset sedang berlangsung atau bahwa kekurangan sumber daya, yang mungkin bersifat sementara, mencegah permintaan tersebut dilakukan.
Pustaka NDIS mempertahankan pengikatan untuk driver miniport yang mendasar. NDIS dapat mengembalikan informasi untuk kueri khusus pengikatan jika OID tertentu dikaitkan dengan jenis sedang yang ditentukan sistem yang sistemnya menyediakan pustaka filter.
Untuk informasi selengkapnya tentang OID umum dan khusus media dan buffer informasi terkait masing-masing, lihat Pengidentifikasi Objek NDIS.
- Platform target: Universal
- Versi: Tidak didukung untuk driver NDIS 6.0 di Windows Vista. Gunakan NdisOidRequestsebagai gantinya. Didukung untuk driver NDIS 5.1 di Windows Vista dan Windows XP.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ndis.h (termasuk Ndis.h) |
Pustaka | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |
Lihat juga
Saran 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