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 |
---|---|
|
La restituzione di questo valore di stato indica che il driver minifiltro è terminato con la transazione. Si tratta di un codice di operazione riuscita. |
|
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:
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 |