Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
FltCbdqDisable deshabilita la cola de datos de devolución de llamada de un controlador de minifiltro.
Sintaxis
VOID FLTAPI FltCbdqDisable(
[in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq
);
Parámetros
[in, out] Cbdq
Puntero a la cola de datos de devolución de llamada.
Valor devuelto
Ninguno
Observaciones
FltCbdqDisable deshabilita una cola de datos de devolución de llamada para que no se puedan agregar más elementos a ella.
Los controladores de minifiltro pueden usar las rutinas de FltCbdqXxx para implementar una cola de datos de devolución de llamada para las operaciones de E/S basadas en IRP. Con estas rutinas, los controladores de minifiltro pueden hacer que sus colas sean seguras; el sistema controla de forma transparente la cancelación de E/S para los controladores de minifiltro.
Las rutinas de FltCbdqXxx solo se pueden usar para las operaciones de E/S basadas en IRP. Para determinar si una estructura de datos de devolución de llamada determinada representa una operación de E/S basada en IRP, use la macro FLT_IS_IRP_OPERATION.
Normalmente, un controlador de minifiltro llama a FltCbdqDisable durante la descarga del controlador de minifiltro o de desmontaje de instancia. Después de llamar a esta rutina, el controlador de minifiltro debe estar vacío o purgar, la cola. Esto se puede hacer llamando a FltCbdqRemoveNextIo repetidamente hasta que no haya más elementos en la cola.
Consulte FltCbdqInitialize para obtener más información sobre cómo crear una cola de datos de devolución de llamada. Use fltCbdqInsertIo para agregar una solicitud de E/S a la cola. Use fltCbdqRemoveIo para quitar una solicitud de E/S determinada de la cola o FltCbdqRemoveNextIo para quitar la siguiente solicitud de E/S disponible.
Para volver a habilitar la cola después de deshabilitarla, llame a FltCbdqEnable.
Si la cola está protegida por un bloqueo de número en lugar de una objeto de exclusión mutua o variable de recurso, el autor de la llamada de FltCbdqDisable se puede ejecutar en IRQL <= DISPATCH_LEVEL. Si se usa una exclusión mutua o un recurso, el autor de la llamada debe ejecutarse en IRQL <= APC_LEVEL.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| irQL | Consulte la sección Comentarios. |