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 contenente puntatori opachi per gli oggetti correlati all'operazione corrente.

[in] TransactionContext

Puntatore al contesto delle transazioni del driver minifilter.

[in] NotificationMask

Specifica il tipo di notifiche che il gestore filtri invia al driver minifilter, 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 la transazione viene eseguito completamente il commit, ovvero quando tutti i responsabili delle 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 commit.
TRANSACTION_NOTIFY_PREPREPARE Questa notifica viene inviata quando la transazione entra nella fase di pre-preparazione per il commit.
TRANSACTION_NOTIFY_ROLLBACK Questa notifica viene inviata quando la transazione 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 minifilter viene completato con la transazione. Si tratta di un codice riuscito.
STATUS_PENDING
La restituzione di questo valore di stato indica che il driver minifilter non è ancora terminato con la transazione. Si tratta di un codice riuscito.

Commenti

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

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

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

Se il driver minifilter restituisce STATUS_PENDING da questa routine di callback, deve chiamare una delle routine seguenti per indicare che ha completato l'elaborazione della notifica:

FltCommitComplete

FltPrepareComplete

FltPrepareComplete

FltRollbackComplete

Requisiti

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 (includere Fltkernel.h)
IRQL PASSIVE_LEVEL

Vedi anche

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPrepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete