Condividi tramite


PFLT_TRANSACTION_NOTIFICATION_CALLBACK funzione di callback (fltkernel.h)

Un driver minifilter può registrare una routine di tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK come routine TransactionNotificationCallback.

Sintassi

PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;

NTSTATUS PfltTransactionNotificationCallback(
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] PFLT_CONTEXT TransactionContext,
  [in] ULONG NotificationMask
)
{...}

Parametri

[in] FltObjects

Puntatore a una struttura FLT_RELATED_OBJECTS che contiene puntatori opachi per gli oggetti correlati all'operazione corrente.

[in] TransactionContext

Puntatore al contesto di transazione del driver minifilter.

[in] NotificationMask

Specifica il tipo di notifiche inviate dal gestore filtri al driver minifiltro, come uno dei valori seguenti.

Valore Significato
TRANSACTION_NOTIFY_COMMIT Questa notifica viene inviata quando viene eseguito il commit della transazione.
TRANSACTION_NOTIFY_COMMIT_FINALIZE Per Windows Vista SP1 e versioni successive, questa notifica viene inviata quando viene eseguito il commit completo della transazione, ovvero quando tutti i gestori risorse associati alla transazione, ad esempio TxF, hanno eseguito il commit).
TRANSACTION_NOTIFY_PREPARE Questa notifica viene inviata quando la transazione entra nella fase di preparazione per il commit.
TRANSACTION_NOTIFY_PREPREPARE Questa notifica viene inviata quando la transazione entra nella fase di preparazione preliminare per il commit.
TRANSACTION_NOTIFY_ROLLBACK Questa notifica viene inviata quando viene eseguito il rollback o l'interruzione della transazione.

Valore restituito

La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK restituisce uno dei valori NTSTATUS seguenti:

Codice restituito Descrizione
STATUS_SUCCESS
La restituzione di questo valore di stato indica che il driver minifiltro è terminato con la transazione. Si tratta di un codice di operazione riuscita.
STATUS_PENDING
La restituzione di questo valore di stato indica che il driver minifiltro non è ancora terminato con la transazione. Si tratta di un codice di operazione riuscita.

Osservazioni

Quando un driver minifiltro si registra chiamando FltRegisterFilter dalla routine DriverEntry, può registrare una routine di tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK come routine del minifiltro TransactionNotificationCallback routine.

Per registrare la routine TransactionNotificationCallback, il driver minifilter archivia l'indirizzo di una routine di tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK nel TransactionNotificationCallback membro della struttura FLT_REGISTRATION che il driver minifilter passa come parametro registration di FltRegisterFilter.

Gestione filtri chiama questa routine per notificare al driver minifilter lo stato di una transazione in cui è incluso il driver minifiltro.

Se il driver minifilter restituisce STATUS_PENDING da questa routine di callback, deve chiamare una delle routine seguenti per indicare che la notifica è stata completata:

FltCommitComplete

FltPrepareComplete

FltPrePrepareComplete

FltRollbackComplete

Fabbisogno

Requisito Valore
client minimo supportato La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK è disponibile in Windows Vista e versioni successive.
piattaforma di destinazione Desktop
intestazione fltkernel.h (include Fltkernel.h)
IRQL PASSIVE_LEVEL

Vedere anche

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPrePrepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete