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.
Menampilkan nilai
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 |
Versi UMDF minimum | 2.33 |
Header | netpacketqueue.h (termasuk netadaptercx.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
EVT_NET_ADAPTER_CREATE_RXQUEUE
EVT_NET_ADAPTER_CREATE_TXQUEUE