estructura FSRTL_PER_FILEOBJECT_CONTEXT (ntifs.h)
El sistema operativo usa la estructura de FSRTL_PER_FILEOBJECT_CONTEXT opaca para realizar un seguimiento de las estructuras de información de contexto definidas por el controlador del sistema de archivos para un objeto de archivo.
Sintaxis
typedef struct _FSRTL_PER_FILEOBJECT_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
} FSRTL_PER_FILEOBJECT_CONTEXT, *PFSRTL_PER_FILEOBJECT_CONTEXT;
Miembros
Links
Vínculo para esta estructura en la lista de todas las estructuras de contexto por objeto de archivo asociadas al mismo objeto de archivo. FsRtlInsertPerFileObjectContext inserta este miembro en la lista de todas las estructuras de contexto por objeto de archivo para el objeto de archivo.
OwnerId
Puntero a una variable asignada por el controlador de filtro que identifica de forma única el filtro propietario de la estructura de contexto por objeto de archivo. El formato de esta variable es específico del controlador de filtro. Los escritores de filtros deben elegir un valor que sea significativo y conveniente, como la dirección del objeto de dispositivo o del objeto de controlador del filtro. Tenga en cuenta que el valor de este miembro no puede ser NULL.
InstanceId
Puntero a una variable asignada por el controlador de filtro que se puede usar para distinguir entre las estructuras de contexto por objeto de archivo creadas por el mismo controlador de filtro. El formato de esta variable es específico del controlador de filtro. Los escritores de filtros deben elegir un valor que sea significativo y conveniente, como la dirección del propio objeto de archivo. Tenga en cuenta que el valor de este miembro puede ser NULL.
Observaciones
Los controladores de filtro del sistema de archivos pueden usar la estructura de FSRTL_PER_FILEOBJECT_CONTEXT opaca para mantener la información de contexto de un objeto de archivo. Esta estructura se puede usar as-is o incrustarse en una estructura de contexto definida por el controlador por objeto.
Cada objeto de archivo puede tener una lista de estructura de contexto por objeto de archivo asociada. Cada miembro de esta lista (es decir, una estructura de contexto de objeto por archivo determinada) es propiedad de un controlador de filtro. Desde la perspectiva de un controlador de filtro, cada controlador de filtro puede asociar varias estructuras de contexto por objeto por archivo para el mismo objeto de archivo.
Cada estructura de contexto de objeto por archivo definida por filtro debe incluir una estructura de FSRTL_PER_FILEOBJECT_CONTEXT inicializada. La estructura FSRTL_PER_FILEOBJECT_CONTEXT se puede asignar desde un grupo paginado o no de página y se debe inicializar mediante la macro FsRtlInitPerFileObjectContext.
Para insertar una estructura de FSRTL_PER_FILEOBJECT_CONTEXT o una estructura de contexto de objeto por archivo definida por filtro (que contiene una estructura de FSRTL_PER_FILEOBJECT_CONTEXT inicializada) en la lista de todas las estructuras de contexto de un objeto de archivo, use la función FsRtlInsertPerFileObjectContext.
Después de asociar una estructura de contexto de FSRTL_PER_FILEOBJECT_CONTEXT o por objeto a un objeto de archivo, se puede recuperar llamando a FsRtlLookupPerFileObjectContext o quitando llamando a FsRtlRemovePerFileObjectContext (según los valores de OwnerId y InstanceId).
Los controladores de minifiltro del sistema de archivos no deben usar las funciones siguientes:
FsRtlInitPerFileObjectContext- FsRtlInsertPerFileObjectContext
- FsRtlLookupPerFileObjectContext
- FsRtlRemovePerFileObjectContext
En su lugar, los minifiltros pueden usar las siguientes funciones para asociar información de contexto a un objeto de archivo:
- fltAllocateContext
- fltDeleteContext
- fltSetStreamHandleContext
- fltDeleteStreamHandleContext
- fltGetStreamHandleContext
- fltReleaseContext
Los controladores de minifiltro del sistema de archivos no deben usar las funciones de FsRtlXxxPerFileObjectContext. En su lugar, los minifiltros pueden usar las funciones de FltXxxContext para asociar información de contexto a un objeto de archivo. Para obtener una lista completa, consulte el tema FSRTL_PER_FILEOBJECT_CONTEXT.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
encabezado de |
ntifs.h (include Fltkernel.h, Ntifs.h) |
Consulte también
FsRtlInsertPerFileObjectContext