Freigeben über


FltCbdqEnable-Funktion (fltkernel.h)

FltCbdqEnable aktiviert eine Rückrufdatenwarteschlange, die durch einen vorherigen Aufruf von FltCbdqDisable deaktiviert wurde.

Syntax

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

Parameter

[in, out] Cbdq

Zeiger auf die Rückrufdatenwarteschlange.

Rückgabewert

Keine

Bemerkungen

FltCbdqEnable aktiviert eine Rückrufdatenwarteschlange erneut, die durch einen vorherigen Aufruf von FltCbdqDisable deaktiviert wurde. Nachdem die Rückrufdatenwarteschlange erneut aktiviert wurde, kann sie erneut neue Elemente akzeptieren.

Minifiltertreiber können die FltCbdqXxx-Routinen verwenden, um eine Rückrufdatenwarteschlange für IRP-basierte E/A-Vorgänge zu implementieren. Durch die Verwendung dieser Routinen können Minifiltertreiber ihre Warteschlange abbruchsicher gestalten. das System verarbeitet den E/A-Abbruch für den Minifiltertreiber transparent.

Die FltCbdqXxx-Routinen können nur für IRP-basierte E/A-Vorgänge verwendet werden. Verwenden Sie das Makro FLT_IS_IRP_OPERATION , um zu bestimmen, ob eine bestimmte Rückrufdatenstruktur einen IRP-basierten E/A-Vorgang darstellt.

Wenn die Warteschlange durch eine Drehsperre und nicht durch ein Mutex-Objekt oder eine Ressourcenvariable geschützt ist, kann der Aufrufer von FltCbdqEnable unter IRQL <= DISPATCH_LEVEL ausgeführt werden. Wenn ein Mutex oder eine Ressource verwendet wird, muss der Aufrufer unter IRQL <= APC_LEVEL ausgeführt werden.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header fltkernel.h (fltkernel.h einschließen)
IRQL Siehe Abschnitt "Hinweise"

Weitere Informationen

FLT_CALLBACK_DATA_QUEUE

FLT_IS_IRP_OPERATION

FltCbdqDisable

FltCbdqInitialize

FltCbdqInsertIo

FltCbdqRemoveIo

FltCbdqRemoveNextIo