Bagikan melalui


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

NetRxQueueCreate

NetTxQueueCreate

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_CANCEL

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED

EVT_PACKET_QUEUE_STOP