Função FltQueueGenericWorkItem (fltkernel.h)
FltQueueGenericWorkItem posta um item de trabalho que não está associado a uma operação de E/S específica em uma fila de trabalho.
Sintaxe
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
Ponteiro para o item de trabalho a ser adicionado à fila de trabalho. O item de trabalho deve ter sido alocado chamando FltAllocateGenericWorkItem.
[in] FltObject
O ponteiro de filtro opaco (PFLT_FILTER) ou instância (PFLT_INSTANCE) para o chamador.
[in] WorkerRoutine
Ponteiro para uma rotina de trabalho fornecida pelo chamador. Essa rotina é declarada da seguinte maneira:
typedef VOID
(*PFLT_GENERIC_WORKITEM_ROUTINE) (
_In_ PFLT_GENERIC_WORKITEM FltWorkItem,
_In_ PVOID FltObject,
_In_opt_ PVOID Context
);
FltWorkItem
Ponteiro opaco para uma estrutura de item de trabalho genérica.
FltObject
Ponteiro de filtro opaco que foi passado como o parâmetro FltObject de FltQueueGenericWorkItem.
Contexto
Ponteiro de informações de contexto que foi passado como o parâmetro Context de FltQueueGenericWorkItem. Esse parâmetro é opcional.
[in] QueueType
Especifica a fila na qual o item de trabalho para o qual FltWorkItem aponta deve ser inserido. QueueType pode ser um dos seguintes:
Valor | Significado |
---|---|
CriticalWorkQueue | Insira o item de trabalho na fila da qual um thread do sistema com um atributo de prioridade em tempo real processa o item de trabalho. |
DelayedWorkQueue | Insira o item de trabalho na fila da qual um thread do sistema com um atributo de prioridade variável processa o item de trabalho. |
O valor QueueTypeHyperCriticalWorkQueue é reservado para uso do sistema.
[in, optional] Context
Ponteiro para informações de contexto definidas pelo chamador a serem passadas como o parâmetro Context da rotina de retorno de chamada especificada no parâmetro WorkerRoutine . Esse parâmetro é opcional.
Retornar valor
FltQueueGenericWorkItem retorna STATUS_SUCCESS ou um valor NTSTATUS apropriado, como um dos seguintes:
Código de retorno | Descrição |
---|---|
|
O driver de minifiltro está sendo descarregado. Este é um código de erro. |
Comentários
FltQueueGenericWorkItem insere um item de trabalho que não está associado a uma operação de E/S específica em uma fila de trabalho do sistema. A rotina de retorno de chamada workerroutine especificada é chamada no contexto de um thread do sistema, em IRQL PASSIVE_LEVEL.
Para alocar um item de trabalho, chame FltAllocateGenericWorkItem.
Para liberar o item de trabalho quando ele não for mais necessário, chame FltFreeGenericWorkItem.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Universal |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
Biblioteca | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |