Funzione FltPrepareComplete (fltkernel.h)
La routine FltPrepareComplete riconosce una notifica di TRANSACTION_NOTIFY_PREPARE.
Sintassi
NTSTATUS FLTAPI FltPrepareComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parametri
[in] Instance
Puntatore dell'istanza opaca per il chiamante.
[in] Transaction
Puntatore di transazione opaco per la transazione.
[in, optional] TransactionContext
Puntatore al contesto di transazione del driver minifilter.
Valore restituito
FltPrepareComplete restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio:
Codice restituito | Descrizione |
---|---|
|
Il driver minifilter non ha impostato un contesto nella transazione. Si tratta di un codice di errore. |
Osservazioni
Un driver minifilter che viene inserito in una transazione può ricevere una notifica TRANSACTION_NOTIFY_PREPARE quando la transazione entra nella fase di preparazione per il commit. Per inviare la notifica al driver minifilter, il gestore filtri chiama la routine TransactionNotificationCall back del driver minifilter. Il driver minifiltro riconosce questa notifica in uno dei due modi seguenti:
- La routine TransactionNotificationCall back del driver minifilter esegue qualsiasi elaborazione necessaria e restituisce STATUS_SUCCESS. In questo caso, il driver minifiltro non chiama FltPrepareComplete.
- Il driver minifilter TransactionNotificationCallback routine invia qualsiasi elaborazione necessaria a un thread di lavoro e restituisce STATUS_PENDING. Dopo aver eseguito l'elaborazione in modo asincrono, la routine di lavoro del driver minifilter deve chiamare FltPrepareComplete per indicare che l'elaborazione è stata completata. Se la routine di lavoro del driver minifilter non chiama FltPrepareComplete, l'operazione di preparazione della transazione non può essere completata dal gestore transazioni del kernel.
Per eseguire l'integrazione in una transazione, chiamare FltEnlistInTransaction.
Per allocare un nuovo contesto di transazione, chiamare FltAllocateContext.
Per recuperare un contesto di transazione, chiamare FltGetTransactionContext.
Per eliminare un contesto di transazione, chiamare FltDeleteTransactionContext o FltDeleteContext.
Per impostare un contesto di transazione, chiamare FltSetTransactionContext.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | La routine FltPrepareComplete è disponibile in Windows Vista e versioni successive. |
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |