Funzione FltQueueGenericWorkItem (fltkernel.h)
FltQueueGenericWorkItem pubblica un elemento di lavoro non associato a un'operazione di I/O specifica a una coda di lavoro.
Sintassi
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
);
Parametri
[in] FltWorkItem
Puntatore all'elemento di lavoro da aggiungere alla coda di lavoro. L'elemento di lavoro deve essere stato allocato chiamando FltAllocateGenericWorkItem.
[in] FltObject
Puntatore del filtro opaco (PFLT_FILTER) o dell'istanza (PFLT_INSTANCE) per il chiamante.
[in] WorkerRoutine
Puntatore a una routine di lavoro fornita dal chiamante. Questa routine viene dichiarata come segue:
typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
_In_ PFLT_GENERIC_WORKITEM FltWorkItem,
_In_ PVOID FltObject,
_In_opt_ PVOID Context
);
FltWorkItem
Puntatore opaco a una struttura di elementi di lavoro generica.
FltObject
Puntatore di filtro opaco passato come parametro FltObject di FltQueueGenericWorkItem.
Contesto
Puntatore alle informazioni di contesto passato come parametro Context di FltQueueGenericWorkItem. Questo parametro è facoltativo e,
[in] QueueType
Specifica la coda in cui deve essere inserito l'elemento di lavoro a cui fltWorkItem punta. QueueType può essere uno dei seguenti:
Valore | Significato |
---|---|
CriticalWorkQueue | Inserire l'elemento di lavoro nella coda da cui un thread di sistema con un attributo di priorità in tempo reale elabora l'elemento di lavoro. |
DelayedWorkQueue | Inserire l'elemento di lavoro nella coda da cui un thread di sistema con un attributo di priorità variabile elabora l'elemento di lavoro. |
Il valore QueueTypeHyperCriticalWorkQueue è riservato per l'uso del sistema.
[in, optional] Context
Puntatore alle informazioni sul contesto definite dal chiamante da passare come parametro Context della routine di callback specificata nel parametro WorkerRoutine . Questo parametro è facoltativo e,
Valore restituito
FltQueueGenericWorkItem restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
|
Il driver minifilter viene scaricato. Si tratta di un codice di errore. |
Commenti
FltQueueGenericWorkItem inserisce un elemento di lavoro non associato a un'operazione di I/O specifica in una coda di lavoro di sistema. La routine di callback WorkerRoutine specificata viene chiamata nel contesto di un thread di sistema, in IRQL PASSIVE_LEVEL.
Per allocare un elemento di lavoro, chiamare FltAllocateGenericWorkItem.
Per liberare l'elemento di lavoro quando non è più necessario, chiama FltFreeGenericWorkItem.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |