Compartir a través de


Función FltDeleteFileContext (fltkernel.h)

La rutina de FltDeleteFileContext recupera y elimina un contexto de archivo que un controlador de minifiltro determinado ha establecido para un archivo determinado.

Sintaxis

NTSTATUS FLTAPI FltDeleteFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *OldContext
);

Parámetros

[in] Instance

Puntero de instancia opaco para el autor de la llamada. Este parámetro es necesario y no se puede null.

[in] FileObject

Puntero de objeto de archivo para el archivo. Este parámetro es necesario y no se puede null.

[out] OldContext

Puntero a una variable asignada por el autor de la llamada que recibe la dirección del contexto eliminado. Si no se encuentra ningún contexto coincidente, esta variable recibe NULL_CONTEXT. Este parámetro es opcional y se puede NULL. Para obtener más información sobre este parámetro, vea la siguiente sección Comentarios.

Valor devuelto

fltDeleteFileContext devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_NOT_FOUND No se encontró ningún contexto coincidente. Se trata de un código de error.
STATUS_NOT_SUPPORTED Los contextos de archivo no se admiten para este archivo. Se trata de un código de error.

Observaciones

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

Dado que los contextos son con recuento de referencias, normalmente no es necesario que un controlador de minifiltro llame a una rutina como FltDeleteFileContext o FltDeleteContext para eliminar explícitamente un contexto.

Un controlador de minifiltro llama a fltDeleteFileContext para recuperar y eliminar un contexto de archivo que estableció anteriormente para un archivo llamando a FltSetFileContext.

Si el parámetro OldContext es NULL en la entrada y se encuentra un contexto de archivo coincidente, FltDeleteFileContext libera la referencia agregada por la llamada anterior del controlador de minifiltro a FltSetFileContext. El contexto eliminado normalmente se libera inmediatamente a menos que haya una referencia pendiente en él (por ejemplo, porque otro subproceso sigue usando el contexto).

Si el parámetro OldContext no es NULL y se encuentra y devuelve un contexto de archivo coincidente, el autor de la llamada es responsable de liberar la referencia agregada por FltSetFileContext. Para liberar esta referencia, el controlador de minifiltro debe llamar a FltReleaseContext en el contexto de archivo eliminado lo antes posible después de realizar cualquier limpieza necesaria.

Para asignar un nuevo contexto, llame a FltAllocateContext.

Para determinar si se admiten contextos de archivo para un archivo determinado, llame a FltSupportsFileContexts o FltSupportsFileContextsEx.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista y versiones posteriores
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
irQL <= APC_LEVEL

Consulte también

FLT_CONTEXT_REGISTRATION

fltAllocateContext

fltDeleteContext

fltGetFileContext

fltReleaseContext

fltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx