Bagikan melalui


Item Kerja I/O NDIS

Driver dapat mengantrekan fungsi panggilan balik item kerja I/O untuk eksekusi nanti. NDIS memanggil fungsi panggilan balik yang ditentukan driver di IRQL = PASSIVE_LEVEL. Ini meningkatkan performa sistem dengan memungkinkan fungsi saat ini untuk segera kembali dan driver untuk melakukan pekerjaan nanti pada IRQL yang lebih rendah.

NDIS 6.0 dan yang lebih baru menyediakan fungsi pembungkus untuk rutinitas item kerja I/O kernel IoAllocateWorkItem, IoFreeWorkItem, dan IoQueueWorkItem. Alih-alih struktur IO_WORKITEM privat, NDIS menggunakan struktur NDIS_IO_WORKITEM privat.

Driver NDIS 6.0 memanggil fungsi NdisAllocateIoWorkItem untuk mengalokasikan item kerja. Driver miniport NDIS melewati NdisAllocateIoWorkItem handel adaptor yang diteruskan NDIS ke fungsi MiniportInitializeEx . NdisAllocateIoWorkItem mendapatkan objek perangkat yang terkait dengan handel dan meneruskan objek perangkat ke rutinitas IoAllocateWorkItem . Filter driver lulus dalam handel filter.

Catatan Driver protokol tidak dapat menggunakan NdisAllocateIoWorkItem karena NDIS tidak mengaitkan driver protokol dengan objek perangkat.

Driver NDIS memanggil fungsi NdisQueueIoWorkItem untuk mengantre item kerja. Item kerja NDIS menggunakan jenis antrean CriticalWorkQueue .

Driver NDIS harus memanggil fungsi NdisFreeIoWorkItem untuk membebaskan sumber daya yang terkait dengan item kerja yang dialokasikan NdisAllocateIoWorkItem .

Utas Pekerja Sistem