Condividi tramite


Funzione FltCompletePendedPreOperation (fltkernel.h)

FltCompletePendedPreOperation riprende l'elaborazione per un'operazione di I/O usata in una routine di preoperazione del driver minifilter (PFLT_PRE_OPERATION_CALLBACK).

Sintassi

VOID FLTAPI FltCompletePendedPreOperation(
                 PFLT_CALLBACK_DATA        CallbackData,
  [in]           FLT_PREOP_CALLBACK_STATUS CallbackStatus,
  [in, optional] PVOID                     Context
);

Parametri

CallbackData

Puntatore alla struttura dei dati di callback (FLT_CALLBACK_DATA) per l'operazione di I/O. Questo parametro è obbligatorio e non può essere NULL.

[in] CallbackStatus

Valore di stato restituito dal driver minifilter per questa operazione di I/O. Impossibile FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE o FLT_PREOP_DISALLOW_FASTIO. Deve essere uno dei valori di FLT_PREOP_CALLBACK_STATUS seguenti. Per altre informazioni sull'effetto di questi valori, vedere la sezione Osservazioni della voce di riferimento per PFLT_PRE_OPERATION_CALLBACK.

Valore Significato
FLT_PREOP_COMPLETE Il driver minifilter sta completando l'operazione di I/O. Filter Manager non invia l'operazione di I/O a alcun driver minifilter sotto il chiamante o al file system. Filter Manager chiama solo le routine di callback postperazione (PFLT_POST_OPERATION_CALLBACK) dei driver minifilter sopra il chiamante.
FLT_PREOP_SUCCESS_NO_CALLBACK Il driver minifilter restituisce il controllo dell'operazione di I/O a Filter Manager. Gestione filtri non chiama il callback postoperatorio corrispondente, se presente, durante il completamento di I/O.
FLT_PREOP_SUCCESS_WITH_CALLBACK Il driver minifilter restituisce il controllo dell'operazione di I/O a Filter Manager. Filter Manager chiama il callback postperazione corrispondente durante il completamento di I/O.

[in, optional] Context

Se FLT_PREOP_SUCCESS_WITH_CALLBACK viene specificato per CallbackStatus, questo parametro è un puntatore di contesto facoltativo da passare alla routine di callback postperazione corrispondente. Se FLT_PREOP_COMPLETE o FLT_PREOP_SUCCESS_NO_CALLBACK viene specificato per CallbackStatus, questo parametro deve essere NULL.

Valore restituito

nessuno

Osservazioni

Quando una routine di preoperazione di un driver minifilter (PFLT_PRE_OPERATION_CALLBACK) inserisce un'operazione di I/O in una coda di lavoro e restituisce FLT_PREOP_PENDING, Filter Manager arresta l'elaborazione dell'operazione. Quando l'operazione viene infine dequeuata ed elaborata, il driver minifilter deve chiamare FltCompletePendedPreOperation per restituire l'operazione a Filter Manager, che quindi riprende l'elaborazione come diretto dal callbackStatus specificato dal driver minifilter.

Se il parametro CallbackStatus è FLT_PREOP_COMPLETE, fltCompletePendedPreOperation può essere chiamato in IRQL <= DISPATCH_LEVEL. In caso contrario, i chiamanti di FltCompletePendedPreOperation devono essere eseguiti in IRQL <= APC_LEVEL.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (includere Fltkernel.h)
Libreria FltMgr.lib
IRQL Vedere La sezione Osservazioni.

Vedi anche

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK