Compartir a través de


Función FltDeleteStreamContext (fltkernel.h)

FltDeleteStreamContext quita un contexto que una instancia de controlador de minifiltro determinada ha establecido para una secuencia determinada y marca el contexto para su eliminación.

Sintaxis

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

Parámetros

[in] Instance

Puntero de instancia opaco para la instancia del controlador de minifiltro cuyo contexto se va a quitar de la lista de contextos adjuntos a la secuencia de archivos.

[in] FileObject

Puntero a un objeto de archivo para la secuencia de archivos.

[out] 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 se puede 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

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

Código devuelto Descripción
STATUS_FLT_DELETING_OBJECT El de instancia especificado se está descomponiéndose. 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.
STATUS_NOT_SUPPORTED El sistema de archivos no admite contextos por secuencia para esta secuencia de archivos. 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 FltDeleteStreamContext para eliminar explícitamente un contexto.

Un controlador de minifiltro llama a FltDeleteStreamContext para quitar un contexto de una secuencia de archivos 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 el contexto todavía está en uso por otro subproceso).

Para asignar un nuevo contexto, llame a FltAllocateContext.

Para obtener un contexto de secuencia, llame a FltGetStreamContext.

Para establecer un contexto de secuencia, llame a FltSetStreamContext.

Requisitos

Requisito Valor
de la plataforma de destino de Universal
encabezado de fltkernel.h (incluya Fltkernel.h)
biblioteca de FltMgr.lib
irQL <= APC_LEVEL

Consulte también

fltAllocateContext

fltDeleteContext

fltGetStreamContext

fltReleaseContext

fltSetStreamContext