Función FltQueueGenericWorkItem (fltkernel.h)
FltQueueGenericWorkItem publica un elemento de trabajo que no está asociado a una operación de E/S específica a una cola de trabajo.
Sintaxis
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
);
Parámetros
[in] FltWorkItem
Puntero al elemento de trabajo que se va a agregar a la cola de trabajo. El elemento de trabajo debe haberse asignado llamando a FltAllocateGenericWorkItem.
[in] FltObject
Puntero de filtro opaco (PFLT_FILTER) o instancia (PFLT_INSTANCE) para el autor de la llamada.
[in] WorkerRoutine
Puntero a una rutina de trabajo proporcionada por el autor de la llamada. Esta rutina se declara de la siguiente manera:
typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
_In_ PFLT_GENERIC_WORKITEM FltWorkItem,
_In_ PVOID FltObject,
_In_opt_ PVOID Context
);
FltWorkItem
Puntero opaco a una estructura genérica de elementos de trabajo.
FltObject
Puntero de filtro opaco que se pasó como parámetro FltObject de FltQueueGenericWorkItem.
Context
Puntero de información de contexto que se pasó como parámetro Context de FltQueueGenericWorkItem. Este parámetro es opcional.
[in] QueueType
Especifica la cola en la que se va a insertar el elemento de trabajo al que apunta FltWorkItem . QueueType puede ser cualquiera de los siguientes:
Valor | Significado |
---|---|
CriticalWorkQueue | Inserte el elemento de trabajo en la cola desde la que un subproceso del sistema con un atributo de prioridad en tiempo real procesa el elemento de trabajo. |
DelayedWorkQueue | Inserte el elemento de trabajo en la cola desde la que un subproceso del sistema con un atributo de prioridad variable procesa el elemento de trabajo. |
El valor QueueTypeHyperCriticalWorkQueue está reservado para uso del sistema.
[in, optional] Context
Puntero a la información de contexto definida por el autor de la llamada que se va a pasar como parámetro Context de la rutina de devolución de llamada especificada en el parámetro WorkerRoutine . Este parámetro es opcional.
Valor devuelto
FltQueueGenericWorkItem devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
|
El controlador minifiltro se está descargando. Se trata de un código de error. |
Comentarios
FltQueueGenericWorkItem inserta un elemento de trabajo que no está asociado a una operación de E/S específica en una cola de trabajo del sistema. Se llama a la rutina de devolución de llamada WorkerRoutine especificada en el contexto de un subproceso del sistema, en IRQL PASSIVE_LEVEL.
Para asignar un elemento de trabajo, llame a FltAllocateGenericWorkItem.
Para liberar el elemento de trabajo cuando ya no sea necesario, llame a FltFreeGenericWorkItem.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |