Compartir a través de


Función FltDeleteTransactionContext (fltkernel.h)

La rutina FltDeleteTransactionContext quita un contexto de una transacción determinada y marca el contexto para su eliminación.

Sintaxis

NTSTATUS FLTAPI FltDeleteTransactionContext(
  [in]            PFLT_INSTANCE Instance,
  [in]            PKTRANSACTION Transaction,
  [out, optional] PFLT_CONTEXT  *OldContext
);

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 cuyo contexto se está eliminando.

[out, optional] OldContext

Puntero a una variable asignada por el autor de la llamada que recibe la dirección del contexto eliminado. Este parámetro es opcional y puede ser NULL. Si OldContext no es NULL y no apunta a NULL_CONTEXT, el autor de la llamada es responsable de llamar a FltReleaseContext para liberar este contexto cuando ya no sea necesario.

Valor devuelto

FltDeleteTransactionContext devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como el siguiente:

Código devuelto Descripción
STATUS_FLT_DELETING_OBJECT La instancia especificada se está descomponendo. Se trata de un código de error.
STATUS_NOT_FOUND No se encontró ningún contexto coincidente. Se trata de un código de error.

Comentarios

Para obtener más información sobre los contextos, vea Acerca de los contextos de minifiltro.

Dado que los contextos tienen recuento de referencias, normalmente no es necesario que un controlador de minifiltro llame a una rutina como FltDeleteTransactionContext para eliminar explícitamente un contexto.

Un controlador de minifiltro llama a FltDeleteTransactionContext para quitar un contexto de una transacción y marcar el contexto para su eliminación. Normalmente, el contexto se libera inmediatamente a menos que haya una referencia pendiente en él (por ejemplo, porque otro subproceso sigue usando el contexto).

Para asignar un nuevo contexto, llame a FltAllocateContext.

Para recuperar un contexto de transacción, llame a FltGetTransactionContext.

Para establecer un contexto de transacción, llame a FltSetTransactionContext.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista y versiones posteriores
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
IRQL <= APC_LEVEL

Consulte también

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext