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 FltCommitComplete reconoce una notificación de TRANSACTION_NOTIFY_COMMIT.
Sintaxis
NTSTATUS FLTAPI FltCommitComplete(
[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 del controlador de minifiltro para la transacción. Este parámetro es opcional y se puede NULL.
Valor devuelto
fltCommitComplete 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
Esta rutina está disponible en Windows Vista y versiones posteriores.
Un controlador de minifiltro que está inscrito en una transacción puede recibir una notificación de TRANSACTION_NOTIFY_COMMIT cuando la transacción está en proceso de confirmación. 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 FltCommitComplete.
- 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 FltCommitComplete para indicar que ha terminado este procesamiento. Si la rutina de trabajo del controlador de minifiltro no llama a FltCommitComplete, el administrador de transacciones del kernel no puede completar la operación de confirmación de transacciones.
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 |
|---|---|
| de la plataforma de destino de | Universal |
| encabezado de | fltkernel.h (incluya Fltkernel.h) |
| biblioteca de | Fltmgr.lib |
| irQL | PASSIVE_LEVEL |