Bagikan melalui


Fungsi IoInitializeWorkItem (wdm.h)

Rutinitas IoInitializeWorkItem menginisialisasi item kerja yang telah dialokasikan pemanggil.

Sintaksis

void IoInitializeWorkItem(
  [in] PVOID        IoObject,
  [in] PIO_WORKITEM IoWorkItem
);

Parameter

[in] IoObject

Arahkan ke objek driver penelepon atau ke salah satu objek perangkat pemanggil. Jika penelepon nantinya akan meneruskan item kerja ke IoQueueWorkItem, IoObject harus menunjuk ke objek perangkat.

[in] IoWorkItem

Arahkan ke struktur IO_WORKITEM untuk diinisialisasi.

Mengembalikan nilai

Tidak

Komentar

Driver mengalokasikan penyimpanannya sendiri untuk struktur IO_WORKITEM, lalu memanggil IoInitializeWorkItem untuk menginisialisasinya. Memori harus dialokasikan dari kumpulan yang tidak disebarkan. Untuk menentukan jumlah byte yang diperlukan untuk menyimpan struktur IO_WORKITEM, panggil IoSizeofWorkItem.

Struktur IO_WORKITEM yang diinisialisasi oleh IoInitializeWorkItemharus tidak diinisialisasi oleh IoUninitializeWorkItem sebelum dibebaskan.

Rutinitas terkait, IoAllocateWorkItem, mengalokasikan dan menginisialisasi item kerja. Dengan menggabungkan alokasi dan inisialisasi ke dalam satu panggilan, IoAllocateWorkItem mungkin lebih nyaman bagi beberapa driver untuk digunakan daripada IoInitializeWorkItem, yang hanya melakukan inisialisasi. Namun, IoInitializeWorkItem diperlukan oleh driver yang harus menginisialisasi item kerja di penyimpanan yang dialokasikan sebelumnya.

Misalnya, driver mungkin mengalokasikan blok penyimpanan untuk kumpulan item kerja. Driver dapat memanggil IoInitializeWorkItem untuk menginisialisasi item kerja saat item kerja dialokasikan dari kumpulan. Driver dapat memanggil IoUninitializeWorkItem untuk membatalkan menginisialisasi item kerja saat dikembalikan ke kumpulan. Selama alokasi penyimpanan awal untuk kumpulan, driver dapat memanggil IoSizeofWorkitem untuk menentukan berapa banyak penyimpanan yang dialokasikan untuk setiap item kerja.

Untuk informasi selengkapnya tentang item kerja, lihat Utas Pekerja Sistem.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia di Windows Vista dan versi Windows yang lebih baru.
Platform Target Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Tingkat apa pun

Lihat juga

IO_WORKITEM

IoAllocateWorkItem

IoQueueWorkItem

IoQueueWorkItemEx

IoSizeofWorkItem

IoUninitializeWorkItem