EVT_PACKET_QUEUE_START fungsi panggilan balik (netpacketqueue.h)
Fungsi panggilan balik EvtPacketQueueStart adalah panggilan balik opsional yang diterapkan oleh driver klien untuk memulai jalur data untuk antrean paket.
Sintaks
EVT_PACKET_QUEUE_START EvtPacketQueueStart;
void EvtPacketQueueStart(
[_In_] NETPACKETQUEUE PacketQueue
)
{...}
Parameter
[_In_] PacketQueue
Handel ke antrean paket.
Nilai kembali
Tidak ada
Keterangan
Ini adalah panggilan balik opsional. Daftarkan fungsi panggilan balik ini di panggilan balik EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE Anda. Atur anggota struktur NET_PACKET_QUEUE_CONFIG yang sesuai setelah Anda menginisialisasi struktur dengan NET_PACKET_QUEUE_CONFIG_INIT, lalu panggil NetTx(Rx)QueueCreate.
Dalam panggilan balik ini, driver klien biasanya mengonfigurasi informasi yang dibutuhkan perangkat kerasnya untuk transmisi paket atau penerimaan. Karena panggilan balik ini tidak mengembalikan nilai dan oleh karena itu seharusnya tidak gagal, driver klien harus melakukan tindakan seperti alokasi sumber daya selama pembuatan antrean. Oleh karena itu, panggilan balik ini harus menjadi fungsi ringan yang dijalankan dengan cepat.
Driver klien tidak akan menerima panggilan ke EVT_PACKET_QUEUE_ADVANCE, EVT_PACKET_QUEUE_CANCEL, atau EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED hingga EvtPacketQueueStart kembali. Selain itu, EvtPacketQueueStart dipanggil dalam konteks eksekusi yang sama, atau utas, seperti EvtPacketQueueAdvance, EvtPacketQueueCancel, dan EvtPacketQueueSetNotificationEnabled, sehingga driver klien tidak perlu menyinkronkan antara fungsi panggilan balik ini untuk instans antrean individual.
Ketika antrean dimulai, NetAdapterCx menjamin bahwa BeginIndex == NextIndex == 0 untuk semua buffer cincin antrean ini. Setelah mulai, kerangka kerja tidak membaca atau menulis NextIndex untuk buffer cincin paket, sehingga driver klien dapat menggunakannya sesuai kebutuhan atau memilih untuk tidak menggunakannya sama sekali. BeginIndex dibaca oleh kerangka kerja tetapi tidak dimodifikasi di luar EvtPacketQueueStart.
Untuk informasi selengkapnya dan diagram yang memperlihatkan model polling jalur data NetAdapterCx, lihat Mengirimkan dan menerima antrean.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1.27 |
Header | netpacketqueue.h (termasuk netadaptercx.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
EVT_NET_ADAPTER_CREATE_RXQUEUE
EVT_NET_ADAPTER_CREATE_TXQUEUE
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