Compartilhar via


Função FltCbdqDisable (fltkernel.h)

FltCbdqDisable desabilita a fila de dados de retorno de chamada de um driver de minifiltro.

Sintaxe

VOID FLTAPI FltCbdqDisable(
  [in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq
);

Parâmetros

[in, out] Cbdq

Ponteiro para a fila de dados de retorno de chamada.

Valor de retorno

Nenhum

Observações

FltCbdqDisable desabilita uma fila de dados de retorno de chamada para que não mais itens possam ser adicionados a ela.

Os drivers de minifiltro podem usar as rotinas deFltCbdq Xxx para implementar uma fila de dados de retorno de chamada para operações de E/S baseadas em IRP. Usando essas rotinas, os drivers de minifiltro podem tornar suas filas canceladas. o sistema manipula de forma transparente o cancelamento de E/S para os drivers de minifiltro.

As rotinas xxx só podem ser usadas para operações de E/S baseadas em IRP. Para determinar se uma determinada estrutura de dados de retorno de chamada representa uma operação de E/S baseada em IRP, use a macro FLT_IS_IRP_OPERATION.

Normalmente, um driver de minifiltro chama FltCbdqDisable durante o descarregamento do driver de minifiltro ou teardown da instância. Depois de chamar essa rotina, o driver de minifiltro deve esvaziar ou de drenagem, a fila. Isso pode ser feito chamando FltCbdqRemoveNextIo repetidamente até que não haja mais itens na fila.

Consulte FltCbdqInitialize para obter detalhes sobre como criar uma fila de dados de retorno de chamada. Use FltCbdqInsertIo para adicionar uma solicitação de E/S à fila. Use FltCbdqRemoveIo para remover uma solicitação de E/S específica da fila ou FltCbdqRemoveNextIo para remover a próxima solicitação de E/S disponível.

Para reabilitar a fila depois de desabilitá-la, chame FltCbdqEnable.

Se a fila estiver protegida por um de bloqueio de rotação em vez de um objeto de objeto mutex ou variável de recurso, o chamador de FltCbdqDisable poderá ser executado no IRQL <= DISPATCH_LEVEL. Se um mutex ou recurso for usado, o chamador deverá estar em execução no IRQL <= APC_LEVEL.

Requisitos

Requisito Valor
da Plataforma de Destino Universal
cabeçalho fltkernel.h (inclua Fltkernel.h)
IRQL Consulte a seção Comentários.

Consulte também

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqEnable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo

FltCbdqRemoveNextIo