struktur WORK_QUEUE_ITEM (wdm.h)
Struktur WORK_QUEUE_ITEM digunakan untuk memposting item kerja ke antrean kerja sistem.
Peringatan
Gunakan struktur ini dengan sangat hati-hati. Lihat bagian Keterangan berikut ini.
Sintaks
typedef struct _WORK_QUEUE_ITEM {
LIST_ENTRY List;
PWORKER_THREAD_ROUTINE WorkerRoutine;
__volatile PVOID Parameter;
} WORK_QUEUE_ITEM, *PWORK_QUEUE_ITEM;
Anggota
List
Struktur daftar tertaut doubly. Struktur ini digunakan untuk menambahkan item kerja ke antrean kerja sistem.
WorkerRoutine
Penunjuk ke rutinitas panggilan balik yang memproses item kerja ini saat item kerja dihapus antreannya. Rutinitas panggilan balik ini dinyatakan sebagai berikut:
VOID
(*PWORKER_THREAD_ROUTINE)(
IN PVOID Parameter
);
Parameter
Penunjuk informasi konteks yang ditentukan dalam anggota Parameter .
Parameter
Arahkan ke informasi konteks untuk diteruskan ke rutinitas panggilan balik yang ditentukan dalam anggota WorkerRoutine .
Keterangan
Untuk menginisialisasi struktur WORK_QUEUE_ITEM, panggil ExInitializeWorkItem.
Untuk memposting item kerja yang diinisialisasi ke antrean kerja sistem, panggil ExQueueWorkItem.
ExInitializeWorkItem dan ExQueueWorkItem hanya dapat digunakan jika item kerja yang ditentukan tidak terkait dengan objek perangkat atau tumpukan perangkat apa pun. Dalam semua kasus lain, driver harus menggunakan IoAllocateWorkItem, IoFreeWorkItem, dan IoQueueWorkItem, karena hanya rutinitas ini yang memastikan bahwa objek perangkat yang terkait dengan item kerja yang ditentukan tetap tersedia sampai item kerja telah diproses.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Fltkernel.h) |