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, una instancia, una secuencia o un identificador de flujo. Este parámetro es obligatorio y no puede ser NULL.

Valor devuelto

None

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 que FltReleaseContext devuelva, 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, FltGetXxxContext o FltReferenceContext debe coincidir finalmente 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 deben liberarse llamando a FltReleaseContext cuando ya no son 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 autores de llamadas deben ejecutarse en IRQL <= APC_LEVEL.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado fltkernel.h (incluya Fltkernel.h)
Library FltMgr.lib
Archivo DLL Fltmgr.sys
IRQL vea 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