NDIS_POLL fungsi panggilan balik (poll.h)
Driver Miniport menerapkan fungsi panggilan balik NdisPoll yang akan dijajaki NDIS untuk menerima indikasi dan mengirim penyelesaian.
Sintaks
NDIS_POLL NdisPoll;
void() NdisPoll(
[_In_] void *Context,
[_Inout_] NDIS_POLL_DATA *PollData
)
{...}
Parameter
[_In_] Context
Penunjuk ke informasi konteks yang disediakan driver saat membuat objek Polling.
[_Inout_] PollData
Penunjuk ke struktur NDIS_POLL_DATA yang harus digunakan driver untuk melakukan indikasi terima dan mengirim penyelesaian. Ini juga berisi detail tentang berapa banyak NBL yang perlu ditunjukkan.
Keterangan
Driver Miniport mendaftarkan panggilan balik NdisPoll selama inisialisasi adaptor miniport. Driver menentukan titik masuk untuk fungsi NdisPoll pada parameter PollHandler dari struktur NDIS_POLL_CHARACTERISTICS sebelum memanggil NdisRegisterPoll.
NDIS pertama-tama akan memanggil panggilan balik NdisPoll ketika driver memanggil NdisRequestPoll. NDIS akan terus memanggil NdisPoll saat driver membuat kemajuan maju pada indikasi penerimaan atau mengirimkan penyelesaian.
Panggilan balik NdisPoll dapat dipanggil di IRQL PASSIVE_LEVEL dan DISPATCH_LEVEL. Driver seharusnya tidak membuat asumsi tentang tingkat mana itu akan.
Driver harus memeriksa parameter penerimaan atau pengiriman struktur NDIS_POLL_DATA untuk mendapatkan jumlah maksimum NBL yang dapat ditunjukkan atau diselesaikan.
Untuk menerima indikasi, driver harus:
- Ambil hingga jumlah maksimum paket Rx yang dapat ditunjukkannya.
- Menginisialisasi NBL.
- Tambahkan ke antrean NBL yang disediakan oleh struktur NDIS_POLL_RECEIVE_DATA (terletak di struktur NDIS_POLL_DATA parameter NdisPollPollData ).
- Keluar dari panggilan balik.
Untuk penyelesaian pengiriman, driver harus:
- Ambil hingga jumlah maksimum paket Tx yang dapat diselesaikannya.
- Lengkapi NBL.
- Tambahkan ke antrean NBL yang disediakan oleh struktur NDIS_POLL_TRANSMIT_DATA (terletak di struktur NDIS_POLL_DATA parameter NdisPollPollData ).
- Keluar dari panggilan balik.
Driver tidak boleh mengaktifkan interupsi objek Polling sebelum keluar dari fungsi NdisPoll . NDIS akan terus melakukan polling driver sampai menilai bahwa tidak ada kemajuan ke depan yang dibuat. Pada titik ini NDIS akan berhenti melakukan polling dan meminta driver untuk mengaktifkan kembali interupsi dengan memanggil panggilan balik NdisSetPollNotification .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 11 |
Server minimum yang didukung | Windows Server 2022 |
Header | poll.h (termasuk ndis.h) |
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