Bagikan melalui


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)

Lihat juga

ExInitializeWorkItem

ExQueueWorkItem

IoAllocateWorkItem

IoFreeWorkItem

IoQueueWorkItem