estructura FSRTL_PER_FILE_CONTEXT (ntifs.h)
Un controlador de filtro del sistema de archivos heredado puede usar una estructura de FSRTL_PER_FILE_CONTEXT para asociar información de contexto específica del controlador a un archivo abierto.
Sintaxis
typedef struct _FSRTL_PER_FILE_CONTEXT {
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_FILE_CONTEXT, *PFSRTL_PER_FILE_CONTEXT;
Miembros
Links
Vínculo para esta estructura en la lista de todas las estructuras de contexto por archivo asociadas al mismo archivo. FsRtlInsertPerFileContext inserta este miembro en la lista de todas las estructuras de contexto por archivo de un archivo.
OwnerId
Puntero a un búfer asignado por el controlador de filtro que identifica de forma única el propietario de la estructura de contexto por archivo. El formato de esta variable es específico del controlador de filtro. Los controladores de filtro deben establecer este miembro en un valor que no seaNULL.
InstanceId
Puntero a un búfer asignado por el controlador de filtro que se puede usar para distinguir entre las estructuras de contexto por archivo creadas por el mismo controlador de filtro. El formato de esta variable es específico del controlador de filtro. Los controladores de filtro pueden establecer este miembro en NULL.
FreeCallback
Puntero a una rutina de devolución de llamada que libera la estructura de contexto por archivo. Los controladores de filtro deben establecer este miembro en un valor que no seaNULL.
Observaciones
Para asociar información de contexto a un archivo, un controlador de filtro heredado asigna primero una estructura de FSRTL_PER_FILE_CONTEXT e inicializa mediante FsRtlInsertPerFileContext. A continuación, el controlador usa FsRtlInsertPerFileContext para asociar ese objeto FSRTL_PER_FILE_CONTEXT con el archivo. Cuando el sistema desglosa el objeto de contexto de archivo de un archivo, llama a
Los escritores de filtros deben elegir un valor OwnerID que sea significativo y conveniente, como la dirección de un objeto de controlador o un objeto de dispositivo.
Los escritores de filtros deben elegir un valor InstanceID que sea significativo y conveniente, como la dirección del objeto de contexto de archivo para el archivo. Use la macro FsRtlGetPerFileContextPointer para recuperar esa dirección de un objeto de archivo.
La estructura FSRTL_PER_FILE_CONTEXT se puede usar as-is, o incrustarse en una estructura de contexto definida por el controlador por archivo.
La estructura FSRTL_PER_FILE_CONTEXT se puede asignar desde un grupo paginado o no paginado.
La macro FsRtlInitPerFileContext inicializa una estructura FSRTL_PER_FILE_CONTEXT.
Parámetros
FileContext
FSRTL_PER_FILE_CONTEXT
Objeto FSRTL_PER_FILE_CONTEXT que se va a inicializar.
OwnerId de
PVOID
Puntero a una variable asignada por controlador de filtro que identifica de forma única el propietario de la estructura de contexto por archivo. El formato es específico del controlador de filtro. Este parámetro debe tener un valor null que no sea
InstanceId de
PVOID
Puntero a una variable asignada por controlador de filtro que identifica de forma única el propietario de la estructura de contexto por archivo. El formato es específico del controlador de filtro. Este parámetro debe tener un valor null que no sea
freeCallback
PFREE_FUNCTION
Puntero a una rutina de devolución de llamada que libera la estructura de contexto por archivo.
Valor devuelto
VOID
Ninguno.
Esta macro debe usarse antes de llamar a FsRtlInsertPerFileContext.
Los escritores de filtros deben elegir un valor OwnerID que sea significativo y conveniente, como la dirección de un objeto de controlador o un objeto de dispositivo.
Los escritores de filtros deben usar un valor de InstanceID que sea significativo y práctico, como la dirección del objeto de contexto de archivo para el archivo. Use la macro FsRtlGetPerFileContextPointer para recuperar esa dirección de un objeto de archivo.
Para obtener más información sobre cómo usar y crear objetos de contexto, vea Tracking Per-File Context in a Legacy File System Filter Driver.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir deWindows Vista. |
encabezado de |
ntifs.h (include Fltkernel.h, Ntifs.h) |
Consulte también
contexto de Per-File de seguimiento en un controlador de filtro del sistema de archivos heredado