Compartir a través de


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

Consulte también

FltAllocateGenericWorkItem

FltFreeGenericWorkItem