Функция FsRtlInsertPerFileObjectContext (ntifs.h)
Для "устаревшего" драйвера фильтра файловой системы функция FsRtlInsertPerFileObjectContext связывает контекстные сведения с объектом файла.
Синтаксис
NTSTATUS FsRtlInsertPerFileObjectContext(
[in] PFILE_OBJECT FileObject,
[in] PFSRTL_PER_FILEOBJECT_CONTEXT Ptr
);
Параметры
[in] FileObject
Указатель на объект файла, с которым необходимо связать контекстную информацию (заданную параметром Ptr ).
[in] Ptr
Указатель на структуру, выделенную вызывающим объектом и инициализированную FSRTL_PER_FILEOBJECT_CONTEXT, связанную с FileObject. Структура может использоваться как есть или внедрена в определяемую драйвером структуру контекста для каждого файла и объекта. Чтобы инициализировать структуру, используйте макрос FsRtlInitPerFileObjectContext .
Возвращаемое значение
FsRtlInsertPerFileObjectContext возвращает соответствующее значение NTSTATUS, например одно из следующих значений:
Код возврата | Описание |
---|---|
|
Структура контекстных сведений была успешно связана с объектом файла. |
|
Параметр FileObject имеет значение NULL. |
|
Системе не хватает ресурсов для завершения операции. Например, расширение объекта файла не может быть выделено для FileObject. |
Комментарии
Драйвер фильтра файловой системы вызывает FsRtlInsertPerFileObjectContext , чтобы связать собственную контекстную структуру отдельных файловых объектов с объектом файла. Структура контекста содержит сведения о контексте, которые драйвер фильтра сохраняет для объекта файла. Функция FsRtlInsertPerStreamContext вставляет структуру контекста Ptr в список контекстов для FileObject.
Все структуры контекстной информации для каждого файла и объекта должны быть или содержать инициализированную FSRTL_PER_FILEOBJECT_CONTEXT структуру. Используйте макрос FsRtlInitPerFileObjectContext для инициализации структуры FSRTL_PER_FILEOBJECT_CONTEXT.
После того как структура FSRTL_PER_FILEOBJECT_CONTEXT или определяемая фильтром структура контекста для каждого файла (содержащая инициализированную структуру FSRTL_PER_FILEOBJECT_CONTEXT) была связана с объектом файла, ее можно получить, вызвав FsRtlLookupPerFileObjectContext или удалить, вызвав FsRtlRemovePerFileObjectContext.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Fltkernel.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |