Función FltDeleteStreamHandleContext (fltkernel.h)
FltDeleteStreamHandleContext quita un contexto que una instancia de controlador de minifiltro determinada ha establecido para un identificador de flujo determinado y marca el contexto para su eliminación.
Sintaxis
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[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 al identificador de flujo.
[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
fltDeleteStreamHandleContext 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 este identificador de 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 FltDeleteStreamHandleContext para eliminar explícitamente un contexto.
Un controlador de minifiltro llama a fltDeleteStreamHandleContext para quitar un contexto de un identificador de flujo 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 FltGetStreamHandleContext.
Para establecer un contexto de secuencia, llame a FltSetStreamHandleContext.
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 | <= APC_LEVEL |