Fungsi FltQueueGenericWorkItem (fltkernel.h)

FltQueueGenericWorkItem memposting item kerja yang tidak terkait dengan operasi I/O tertentu ke antrean kerja.

Sintaks

NTSTATUS FLTAPI FltQueueGenericWorkItem(
  [in]           PFLT_GENERIC_WORKITEM         FltWorkItem,
  [in]           PVOID                         FltObject,
  [in]           PFLT_GENERIC_WORKITEM_ROUTINE WorkerRoutine,
  [in]           WORK_QUEUE_TYPE               QueueType,
  [in, optional] PVOID                         Context
);

Parameter

[in] FltWorkItem

Arahkan ke item kerja yang akan ditambahkan ke antrean kerja. Item kerja harus dialokasikan dengan memanggil FltAllocateGenericWorkItem.

[in] FltObject

Filter buram (PFLT_FILTER) atau penunjuk instans (PFLT_INSTANCE) untuk pemanggil.

[in] WorkerRoutine

Arahkan ke rutinitas pekerja yang disediakan penelepon. Rutinitas ini dinyatakan sebagai berikut:

typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
 _In_ PFLT_GENERIC_WORKITEM FltWorkItem,
 _In_ PVOID FltObject,
 _In_opt_ PVOID Context
      );

FltWorkItem

Penunjuk buram ke struktur item kerja generik.

FltObject

Penunjuk filter buram yang diteruskan sebagai parameter FltObject dari FltQueueGenericWorkItem.

Konteks

Penunjuk informasi konteks yang diteruskan sebagai parameter KonteksFltQueueGenericWorkItem. Parameter ini bersifat opsional.

[in] QueueType

Menentukan antrean tempat item kerja yang dituju FltWorkItem akan disisipkan. QueueType dapat berupa salah satu hal berikut ini:

Nilai Makna
CriticalWorkQueue Sisipkan item kerja ke dalam antrean tempat utas sistem dengan atribut prioritas real time memproses item kerja.
DelayedWorkQueue Sisipkan item kerja ke dalam antrean tempat utas sistem dengan atribut prioritas variabel memproses item kerja.
 

Nilai QueueTypeHyperCriticalWorkQueue disediakan untuk penggunaan sistem.

[in, optional] Context

Arahkan ke informasi konteks yang ditentukan pemanggil untuk diteruskan sebagai parameter Konteks dari rutinitas panggilan balik yang ditentukan dalam parameter WorkerRoutine . Parameter ini bersifat opsional.

Mengembalikan nilai

FltQueueGenericWorkItem mengembalikan STATUS_SUCCESS atau nilai NTSTATUS yang sesuai seperti salah satu hal berikut ini:

Menampilkan kode Deskripsi
STATUS_FLT_DELETING_OBJECT
Driver minifilter sedang dibongkar. Ini adalah kode kesalahan.

Keterangan

FltQueueGenericWorkItem menyisipkan item kerja yang tidak terkait dengan operasi I/O tertentu ke dalam antrean kerja sistem. Rutinitas panggilan balik WorkerRoutine yang ditentukan dipanggil dalam konteks utas sistem, di IRQL PASSIVE_LEVEL.

Untuk mengalokasikan item kerja, panggil FltAllocateGenericWorkItem.

Untuk membebaskan item kerja saat tidak lagi diperlukan, panggil FltFreeGenericWorkItem.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

Lihat juga

FltAllocateGenericWorkItem

FltFreeGenericWorkItem