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 |
---|---|
|
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 |