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 FltPrepareComplete reconoce una notificación de TRANSACTION_NOTIFY_PREPARE.
Sintaxis
NTSTATUS FLTAPI FltPrepareComplete(
[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
fltPrepareComplete 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 inscrito en una transacción puede recibir una notificación de TRANSACTION_NOTIFY_PREPARE cuando la transacción entra en la fase de preparación para la 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 FltPrepareComplete.
- 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 FltPrepareComplete para indicar que ha terminado este procesamiento. Si la rutina de trabajo del controlador de minifiltro no llama a FltPrepareComplete, el administrador de transacciones no puede completar la operación de preparació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 | La rutina FltPrepareComplete 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 | <= APC_LEVEL |