Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina FltCommitFinalizeComplete reconoce una notificación de TRANSACTION_NOTIFY_COMMIT_FINALIZE.
Sintaxis
NTSTATUS FLTAPI FltCommitFinalizeComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parámetros
[in] Instance
Puntero opaco a una instancia de un controlador de minifiltro. Este parámetro es necesario y no se puede null.
[in] Transaction
Puntero opaco a la transacción en la que está inscrito el controlador de minifiltro. Este parámetro es necesario y no se puede null.
[in, optional] TransactionContext
Puntero al contexto del controlador de minifiltro para la transacción. Este parámetro es opcional y se puede NULL.
Valor devuelto
fltCommitFinalizeComplete 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_COMMIT_FINALIZE cuando la transacción se confirma por completo (es decir, cuando todos los administradores de recursos de asociados a la transacción, como TxF, se han confirmado). Para un controlador de minifiltro antivirus que realiza exámenes fuera de las transacciones, puede usar este valor de notificación para determinar cuándo el controlador debe comenzar a examinar archivos.
Para enviar la notificación TRANSACTION_NOTIFY_COMMIT_FINALIZE al controlador de minifiltro, el administrador de filtros llama a la rutina de TransactionNotificationCallback del controlador de minifiltro. 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 FltCommitFinalizeComplete).
- 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 subprocesos de trabajo del controlador de minifiltro debe llamar a FltCommitFinalizeComplete para indicar que ha finalizado este procesamiento. Si la rutina de subprocesos de trabajo del controlador de minifiltro no llama a FltCommitFinalizeComplete, se perderán determinados recursos del sistema.
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.
Para obtener más información, consulte Notificaciones de transacción.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Disponible en Windows Vista Service Pack 1 (SP1) y versiones posteriores. |
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| biblioteca de | Fltmgr.lib |
| irQL | <= APC_LEVEL |