Fungsi NdisAllocateIoWorkItem (ndis.h)

Driver NDIS memanggil fungsi NdisAllocateIoWorkItem untuk mengalokasikan item kerja. Untuk informasi selengkapnya, lihat Item Kerja I/O NDIS.

Sintaks

NDIS_HANDLE NdisAllocateIoWorkItem(
  [in] NDIS_HANDLE NdisObjectHandle
);

Parameter

[in] NdisObjectHandle

Handel objek NDIS yang terkait dengan objek perangkat atau objek driver.

Nilai kembali

Jika NdisAllocateIoWorkItem berhasil mengalokasikan item kerja, NdisAllocateIoWorkItem akan mengembalikan handel ke item kerja. Jika gagal, NdisAllocateIoWorkItem mengembalikan NULL.

Keterangan

Driver miniport NDIS melewati NdisAllocateIoWorkItem salah satu dari dua handel: handel adaptor yang diteruskan NDIS ke fungsi MiniportInitializeEx atau handel driver miniport yang dikembalikan NDIS ketika driver miniport dipanggil NdisMRegisterMiniportDriver.

Driver filter NDIS dapat melewati NdisAllocateIoWorkItem handel driver filter yang dikembalikan NDIS saat driver filter yang disebut NdisFRegisterFilterDriver.

Driver miniport NDIS dan driver filter juga dapat melewati NdisAllocateIoWorkItem handel perangkat NDIS yang dikembalikan NDIS ketika driver bernama NdisRegisterDeviceEx. NdisAllocateIoWorkItem mendapatkan objek perangkat atau objek driver yang terkait dengan handel dan meneruskan objek perangkat atau objek driver ke fungsi IoAllocateWorkItem .

Catatan Driver protokol tidak dapat menggunakan NdisAllocateIoWorkItem karena NDIS tidak mengaitkan driver protokol dengan objek perangkat atau objek driver.
 
Driver NDIS memanggil fungsi NdisQueueIoWorkItem untuk mengantre item kerja. Setelah driver memanggil NdisQueueIoWorkItem, NDIS memanggil fungsi panggilan balik yang ditentukan driver di IRQL = PASSIVE_LEVEL. Ini dapat meningkatkan performa sistem dengan memungkinkan fungsi saat ini segera berakhir dan driver untuk melakukan pekerjaan nanti di IRQL yang lebih rendah.

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

Driver dapat memanggil NdisFreeIoWorkItem dalam rutinitas panggilan balik yang diteruskan ke NdisQueueIoWorkItem.

Jika driver miniport menggunakan handel yang diteruskan NDIS ke MiniportInitializeEx saat disebut NdisAllocateIoWorkItem, item kerja harus dibebaskan sebelum atau dalam panggilan ke fungsi MiniportHaltEx driver.

Jika driver miniport menggunakan handel yang dikembalikan NdisMRegisterMiniportDriver saat driver bernama NdisAllocateIoWorkItem, driver harus membebaskan item kerja sebelum driver dibongkar.

Secara umum, driver harus membebaskan item kerja sebelum driver dibongkar.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Target Platform Universal
Header ndis.h (termasuk Ndis.h)
Pustaka Ndis.lib
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis)

Lihat juga

IoAllocateWorkItem

MiniportHaltEx

MiniportInitializeEx

Item Kerja I/O NDIS

NdisFRegisterFilterDriver

NdisFreeIoWorkItem

NdisMRegisterMiniportDriver

NdisQueueIoWorkItem

NdisRegisterDeviceEx