Función FltRollbackComplete (fltkernel.h)
La rutina FltRollbackComplete reconoce una notificación de TRANSACTION_NOTIFY_ROLLBACK.
Sintaxis
NTSTATUS FLTAPI FltRollbackComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parámetros
[in] Instance
Puntero de instancia opaco para el autor de la llamada.
[in] Transaction
Puntero de transacción opaco para la transacción.
[in, optional] TransactionContext
Puntero al contexto de transacción del controlador de minifiltro.
Valor devuelto
fltRollbackComplete devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:
Código devuelto | Descripción |
---|---|
|
El controlador de minifiltro no estableció un contexto en la transacción. Se trata de un código de error. |
Observaciones
Un controlador de minifiltro que está inscrito en una transacción puede recibir una notificación de TRANSACTION_NOTIFY_ROLLBACK cuando la transacción está en proceso de revertirse o anularse. Para enviar la notificación al controlador de minifiltro, el administrador de filtros llama a la rutina del controlador de minifiltro TransactionNotificationCallback. El controlador de minifiltro confirma esta notificación de una de estas dos maneras:
- El controlador de minifiltro TransactionNotificationCallback rutina realiza cualquier procesamiento necesario y devuelve STATUS_SUCCESS. En este caso, el controlador de minifiltro no llama a FltRollbackComplete.
- El controlador de minifiltro TransactionNotificationCallback rutina publica cualquier procesamiento necesario en un subproceso de trabajo y devuelve STATUS_PENDING. Después de realizar el procesamiento de forma asincrónica, la rutina de trabajo del controlador de minifiltro debe llamar a FltRollbackComplete para indicar que ha terminado este procesamiento. Si la rutina de trabajo del controlador de minifiltro no llama a FltRollbackComplete, el administrador de transacciones no puede completar la operación de reversión o anulación de transacciones del kernel.
Para inscribirse en una transacción, llame a FltEnlistInTransaction.
Para asignar un nuevo contexto de transacción, llame a FltAllocateContext.
Para recuperar un contexto de transacción, llame a FltGetTransactionContext.
Para eliminar un contexto de transacción, llame a FltDeleteTransactionContext o FltDeleteContext.
Para establecer un contexto de transacción, llame a FltSetTransactionContext.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Esta rutina está disponible en Windows Vista y versiones posteriores. |
de la plataforma de destino de | Universal |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
biblioteca de | Fltmgr.lib |
DLL de | Fltmgr.sys |
irQL | PASSIVE_LEVEL |