Функция 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. Структура может использоваться as-is или внедрена в определяемую драйвером структуру контекста объекта для каждого файла. Чтобы инициализировать структуру, используйте макрос FsRtlInitPerFileObjectCon text.

Возвращаемое значение

FsRtlInsertPerFileObjectContext возвращает соответствующее значение NTSTATUS, например одно из следующих:

Возвращаемый код Описание
STATUS_SUCCESS
Структура сведений о контексте успешно связана с объектом файла.
STATUS_INVALID_PARAMETER
Параметр fileObject имеет значение NULLNULL.
STATUS_INSUFFICIENT_RESOURCES
В системе недостаточно ресурсов для завершения операции. Например, невозможно выделить расширение объекта файла для FileObject.

Замечания

Драйвер фильтра файловой системы вызывает FsRtlInsertPerFileObjectContext для связывания собственной структуры контекста объекта файла с объектом файла. Структура контекста содержит сведения о контексте, которые драйвер фильтра поддерживает для объекта файла. Функция FsRtlInsertPerStreamContext вставляет структуру контекста Ptr в список контекстов для FileObject.

Все структуры контекста объекта файла должны быть или содержать инициализированную FSRTL_PER_FILEOBJECT_CONTEXT структуру. Используйте макрос FsRtlInitPerFileObjectContext для инициализации структуры FSRTL_PER_FILEOBJECT_CONTEXT.

После того как структура FSRTL_PER_FILEOBJECT_CONTEXT или определяемая фильтром структура контекста объекта файла (содержащая инициализированную FSRTL_PER_FILEOBJECT_CONTEXT структуру) была связана с объектом файла, ее можно получить путем вызова FsRtlLookupPerFileObjectContext или удаления путем вызова FsRtlRemovePerFileObjectContext.

Драйверы мини-фильтра файловой системы не должны использовать функции FsRtlXxxPerFileObjectCon text. Вместо этого минифильтры могут использовать функции FltXxxContext для связывания контекстных сведений с объектом файла. Полный список см. в разделе FSRTL_PER_FILEOBJECT_CONTEXT.
 

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Всеобщий
заголовка ntifs.h (include Fltkernel.h, Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

См. также

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlLookupPerFileObjectContext

FsRtlRemovePerFileObjectContext