estructura FSRTL_PER_STREAM_CONTEXT (ntifs.h)
La estructura FSRTL_PER_STREAM_CONTEXT contiene información de contexto que un controlador de filtro del sistema de archivos mantiene sobre una secuencia de archivos.
Sintaxis
typedef struct _FSRTL_PER_STREAM_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
Miembros
Links
Vínculo para esta estructura en la lista de todas las estructuras de contexto por secuencia asociadas a la misma secuencia de archivos. FsRtlInsertPerStreamContext inserta este miembro en la lista de todas las estructuras de contexto por secuencia de una secuencia de archivos. Para obtener un puntero al encabezado de la lista de un objeto de archivo, use el FsRtlGetPerStreamContextPointer macro y convierta el resultado en un puntero PFSRTL_ADVANCED_FCB_HEADER. El puntero de lista es el miembro FilterContexts en la estructura de encabezado del bloque de control de archivos avanzado (FCB) para la secuencia de archivos.
OwnerId
Puntero a una variable asignada por el controlador de filtro que identifica de forma única el propietario de la estructura de contexto por secuencia. 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 de un objeto de controlador o un objeto de dispositivo. Los controladores de filtro deben establecer este miembro en un valor que no seaNULL.
InstanceId
Puntero a una variable asignada por el controlador de filtro que se puede usar para distinguir entre las estructuras de contexto por secuencia 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 objeto de contexto de secuencia para la secuencia de archivos. (Para obtener esta dirección de un objeto de archivo, use la macro FsRtlGetPerStreamContextPointer).
Este miembro es opcional y puede ser null.
FreeCallback
Puntero a una rutina de devolución de llamada que libera la estructura de contexto por secuencia. Esta rutina y sus parámetros se definen de la siguiente manera:
VOID
(*PFREE_FUNCTION) (
IN PVOID Buffer
);
Búfer
Puntero a la estructura FSRTL_PER_STREAM_CONTEXT que se va a liberar.
Observaciones
Los controladores de filtro del sistema de archivos pueden usar una estructura de FSRTL_PER_STREAM_CONTEXT para mantener la información de contexto de una secuencia de archivos. Esta estructura se puede usar tal como está o incrustada en una estructura de contexto definida por controlador por secuencia.
Cuando un sistema de archivos desgarra el objeto de contexto de secuencia de una secuencia de archivos, debe llamar a FsRtlTeardownPerStreamContexts, que a su vez llama a las rutinas de FreeCallback de todas las estructuras de contexto por secuencia asociadas a la secuencia de archivos.
La macro FsRtlSupportsPerStreamContexts determina si un sistema de archivos admite contextos por secuencia para una secuencia de archivos determinada.
BOOLEAN FsRtlSupportsPerStreamContexts(
[in] PFILE_OBJECT FileObject
);
Parámetros
FileObject [in]
PFILE_OBJECT
Puntero a un objeto de archivo para la secuencia de archivos.
Valor devuelto
BOOLEAN
La macro FsRtlSupportsPerStreamContexts devuelve TRUE si el sistema de archivos admite contextos por secuencia para la secuencia de archivos, FALSE de lo contrario.
Los controladores de filtro del sistema de archivos llaman a FsRtlSupportsPerStreamContexts para determinar si el sistema de archivos subyacente admite contextos por secuencia para la secuencia de archivos representada por un objeto de archivo determinado. Tenga en cuenta que un sistema de archivos podría admitir contextos por secuencia para algunos tipos de archivos, pero no para otros. Por ejemplo, NTFS y FAT no admiten actualmente contextos por secuencia para paginar archivos.
Para obtener más información, vea Per-Stream Contexto de seguimiento en un controlador de filtro del sistema de archivos heredado.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Esta estructura es Windows XP |
encabezado de |
ntifs.h (incluya Ntifs.h) |
Consulte también
FsRtlGetPerStreamContextPointer
FsRtlTeardownPerStreamContexts
contexto de Per-Stream de seguimiento en un controlador de filtro del sistema de archivos heredado