Compartir a través de


Función FltReleaseContext (fltkernel.h)

FltReleaseContext disminuye el recuento de referencias en un contexto.

Sintaxis

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

Parámetros

[in] Context

Puntero al contexto. Debe ser un puntero válido a un objeto de contexto para un volumen, instancia, secuencia o identificador de flujo. Este parámetro es necesario y no se puede null.

Valor devuelto

Ninguno

Observaciones

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

Un controlador de minifiltro llama a fltReleaseContext para liberar un contexto. FltReleaseContext disminuye el recuento de referencias en el contexto especificado. Cuando el recuento de referencias alcanza cero, el contexto se libera inmediatamente si el autor de la llamada se ejecuta en IRQL <= APC_LEVEL. Si el autor de la llamada se ejecuta en irQL DISPATCH_LEVEL, se programa un elemento de trabajo para liberar el contexto.

Nota

Después de fltReleaseContext devuelve, el autor de la llamada no debe usar el contexto, ya que es posible que el contexto ya se haya liberado.

Cada llamada correcta a FltAllocateContext, FltGetXxxContexto FltReferenceContext debe coincidir con una llamada a FltReleaseContext.

Tenga en cuenta que el puntero OldContext devuelto por FltSetXxxContext y el parámetro Context que se usa para llamar a FltDeleteContext también debe publicarse llamando a FltReleaseContext cuando ya no sean necesarios.

Para asignar un nuevo contexto, llame a FltAllocateContext.

Para incrementar el recuento de referencias en un contexto, llame a FltReferenceContext.

Para obtener más información sobre el recuento de referencias de contexto, vea Referencia a contextos.

Los autores de llamadas de fltReleaseContext deben ejecutarse en IRQL <= DISPATCH_LEVEL si el contexto se asignó desde un grupo no paginado. Si el contexto se asignó desde el grupo paginado, los llamadores deben ejecutarse en IRQL <= APC_LEVEL.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
DLL de Fltmgr.sys
irQL Consulte la sección Comentarios.

Consulte también

fltAllocateContext

fltDeleteContext

fltGetContexts

FltGetContextsEx

fltGetFileContext

fltGetInstanceContext

fltGetSectionContext

fltGetStreamContext

fltGetStreamHandleContext

fltGetTransactionContext

fltGetVolumeContext

fltReferenceContext

fltReleaseContexts

fltSetFileContext

fltSetInstanceContext

fltSetStreamContext

fltSetStreamHandleContext

fltSetTransactionContext

FltSetVolumeContext