FltCbdqEnable function (fltkernel.h)

FltCbdqEnable enables a callback data queue that was disabled by a previous call to FltCbdqDisable.

Syntax

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

Parameters

[in, out] Cbdq

Pointer to the callback data queue.

Return value

None

Remarks

FltCbdqEnable reenables a callback data queue that was disabled by a previous call to FltCbdqDisable. After the callback data queue is reenabled, it can once again accept new items.

Minifilter drivers can use the FltCbdqXxx routines to implement a callback data queue for IRP-based I/O operations. By using these routines, minifilter drivers can make their queue cancel-safe; the system transparently handles I/O cancellation for the minifilter driver.

The FltCbdqXxx routines can only be used for IRP-based I/O operations. To determine whether a given callback data structure represents an IRP-based I/O operation, use the FLT_IS_IRP_OPERATION macro.

If the queue is protected by a spin lock rather than a mutex object or resource variable, the caller of FltCbdqEnable can be running at IRQL <= DISPATCH_LEVEL. If a mutex or resource is used, the caller must be running at IRQL <= APC_LEVEL.

Requirements

Requirement Value
Target Platform Universal
Header fltkernel.h (include Fltkernel.h)
IRQL See Remarks section

See also

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqDisable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo

FltCbdqRemoveNextIo