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 |
---|---|
|
La restituzione di questo valore di stato indica che il driver minifilter viene completato con la transazione. Si tratta di un codice riuscito. |
|
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:
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 |