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 |