PFLT_TRANSACTION_NOTIFICATION_CALLBACK função de retorno de chamada (fltkernel.h)
Um driver de minifiltro pode registrar uma rotina do tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK como sua rotina TransactionNotificationCallback .
Sintaxe
PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;
NTSTATUS PfltTransactionNotificationCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] PFLT_CONTEXT TransactionContext,
[in] ULONG NotificationMask
)
{...}
Parâmetros
[in] FltObjects
Ponteiro para uma estrutura FLT_RELATED_OBJECTS que contém ponteiros opacos para os objetos relacionados à operação atual.
[in] TransactionContext
Ponteiro para o contexto de transação do driver de minifiltro.
[in] NotificationMask
Especifica o tipo de notificações que o gerenciador de filtros está enviando para o driver de minifiltro, como um dos valores a seguir.
Valor | Significado |
---|---|
TRANSACTION_NOTIFY_COMMIT | Essa notificação é enviada quando a transação está sendo confirmada. |
TRANSACTION_NOTIFY_COMMIT_FINALIZE | Para o Windows Vista SP1 e posterior, essa notificação é enviada quando a transação é totalmente confirmada (ou seja, quando todos os gerenciadores de recursos associados à transação, como o TxF, tiverem confirmado). |
TRANSACTION_NOTIFY_PREPARE | Essa notificação é enviada quando a transação entra na fase de preparação para confirmação. |
TRANSACTION_NOTIFY_PREPREPARE | Essa notificação é enviada quando a transação entra na fase de pré-preparação para confirmação. |
TRANSACTION_NOTIFY_ROLLBACK | Essa notificação é enviada quando a transação está sendo revertida ou anulada. |
Retornar valor
A rotina PFLT_TRANSACTION_NOTIFICATION_CALLBACK retorna um dos seguintes valores NTSTATUS:
Código de retorno | Descrição |
---|---|
|
Retornar esse valor status indica que o driver de minifiltro foi concluído com a transação. Este é um código de êxito. |
|
Retornar esse valor status indica que o driver de minifiltro ainda não foi concluído com a transação. Este é um código de êxito. |
Comentários
Quando um driver de minifiltro se registra chamando FltRegisterFilter de sua rotina DriverEntry , ele pode registrar uma rotina do tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK como a rotina TransactionNotificationCallback do minifiltro.
Para registrar a rotina TransactionNotificationCallback , o driver de minifiltro armazena o endereço de uma rotina do tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK no membro TransactionNotificationCallback da estrutura FLT_REGISTRATION que o driver de minifiltro passa como o parâmetro Registration de FltRegisterFilter.
O gerenciador de filtros chama essa rotina para notificar o driver de minifiltro sobre o status de uma transação na qual o driver de minifiltro está inscrito.
Se o driver de minifiltro retornar STATUS_PENDING dessa rotina de retorno de chamada, ele deverá chamar uma das seguintes rotinas para indicar que terminou de processar a notificação:
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | A rotina de PFLT_TRANSACTION_NOTIFICATION_CALLBACK está disponível no Windows Vista e posterior. |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | fltkernel.h (inclua Fltkernel.h) |
IRQL | PASSIVE_LEVEL |