Compartir a través de


Función FsRtlRemovePerFileContext (ntifs.h)

La rutina FsRtlRemovePerFileContext devuelve un puntero a un objeto FSRTL_PER_FILE_CONTEXT asociado a un archivo. FsRtlRemovePerFileContext quita el objeto FSRTL_PER_FILE_CONTEXT de la lista que ocupa, junto con la información de contexto específica del controlador asociado.

Sintaxis

PFSRTL_PER_FILE_CONTEXT FsRtlRemovePerFileContext(
  [in]           PVOID *PerFileContextPointer,
  [in, optional] PVOID OwnerId,
  [in, optional] PVOID InstanceId
);

Parámetros

[in] PerFileContextPointer

Puntero a un puntero opaco que usa el paquete de la biblioteca en tiempo de ejecución del sistema de archivos (FSRTL) para realizar un seguimiento de los contextos de archivo. Para obtener este puntero de un objeto de archivo, use la macro FsRtlGetPerFileContextPointer.

[in, optional] OwnerId

Puntero a una variable asignada por controlador de filtro que identifica de forma única el propietario de la estructura de contexto por archivo. Este parámetro es opcional, pero debe ser distinto de NULL si InstanceId no es NULL.

[in, optional] InstanceId

Puntero a una variable asignada por controlador de filtro que se puede usar para distinguir entre las estructuras de contexto por archivo creadas por el mismo controlador de filtro. Este parámetro es opcional.

Valor devuelto

Puntero al primer FSRTL_PER_FILE_CONTEXT que coincide con el OwnerId de y InstanceId, si se especifica. Si no se encuentra ninguna coincidencia o si el sistema no admite información de contexto de archivo, esta rutina devuelve NULL.

Observaciones

FsRtlRemovePerFileContext quita solo la primera estructura de contexto por archivo coincidente que encuentra. Si hay contextos de búsqueda de coincidencias adicionales por archivo, el controlador de filtro debe llamar a FsRtlRemovePerFileContext tantas veces como sea necesario para quitarlos todos.

El controlador de filtro del sistema de archivos debe liberar la memoria que se usa para esta información de contexto después de quitar el FSRTL_PER_FILE_CONTEXT.

Use esta rutina para que los controladores quiten contextos solo cuando el controlador debe descartar la información de contexto por archivo mientras el archivo sigue abierto. Los contextos se quitan cuando se cierra un archivo mediante FsRtlTeardownPerFileContexts.

No uses esta rutina dentro de tu rutina FreeCallback. El sistema de archivos quita los contextos de la lista antes de llamar a esa rutina.

No use esta rutina dentro del controlador de IRP_CLOSE. No se le notificará cuando se descomponga la secuencia.

Requisitos

Requisito Valor
cliente mínimo admitido Windows Vista
de la plataforma de destino de Universal
encabezado de ntifs.h (include FltKernel.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL <=APC_LEVEL

Consulte también

FSRTL_PER_FILE_CONTEXT

FsRtlGetPerFileContextPointer

FsRtlInsertPerFileContext

FsRtlLookupPerFileContext

contexto de Per-File de seguimiento en un controlador de filtro del sistema de archivos heredado