Funzione FltCbdqDisable (fltkernel.h)
FltCbdqDisable disabilita una coda di dati di callback del driver minifilter.
Sintassi
VOID FLTAPI FltCbdqDisable(
[in, out] PFLT_CALLBACK_DATA_QUEUE Cbdq
);
Parametri
[in, out] Cbdq
Puntatore alla coda dei dati di callback.
Valore restituito
nessuno
Osservazioni
FltCbdqDisable disabilita una coda di dati di callback in modo che non sia possibile aggiungerli più elementi.
I driver minifilter possono usare le routine FltCbdqXxx per implementare una coda di dati di callback per le operazioni di I/O basate su IRP. Usando queste routine, i driver minifilter possono rendere le code annullate; il sistema gestisce in modo trasparente l'annullamento di I/O per i driver minifilter.
Le routine FltCbdqXxx possono essere usate solo per le operazioni di I/O basate su IRP. Per determinare se una determinata struttura di dati di callback rappresenta un'operazione di I/O basata su IRP, usare la macro FLT_IS_IRP_OPERATION .
Un driver minifilter chiama normalmente FltCbdqDisable durante il teardown dell'istanza o il driver minifilter scaricare. Dopo aver chiamato questa routine, il driver minifilter deve svuotare o svuotare la coda. Questa operazione può essere eseguita chiamando FltCbdqRemoveNextIo ripetutamente fino a quando non rimangono più elementi nella coda.
Per informazioni dettagliate su come creare una coda di dati di callback, vedere FltCbdqInitialize . Usare FltCbdqInsertIo per aggiungere una richiesta di I/O alla coda. Usare FltCbdqRemoveIo per rimuovere una richiesta di I/O specifica dalla coda o FltCbdqRemoveNextIo per rimuovere la richiesta di I/O disponibile successiva.
Per ripristinare la coda dopo la disabilitazione, chiamare FltCbdqEnable.
Se la coda è protetta da un blocco spin anziché da un oggetto mutex o una variabile di risorsa, il chiamante di FltCbdqDisable può essere eseguito in IRQL <= DISPATCH_LEVEL. Se viene usato un mutex o una risorsa, il chiamante deve essere in esecuzione in IRQL <= APC_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (includere Fltkernel.h) |
IRQL | Vedere La sezione Osservazioni. |