Поделиться через


Функция FsRtlLookupPerFileObjectContext (ntifs.h)

Для драйвера фильтра файловой системы прежних версий функция FsRtlLookupPerFileObjectContext извлекает сведения о контексте, ранее связанные с объектом файла.

Синтаксис

PFSRTL_PER_FILEOBJECT_CONTEXT FsRtlLookupPerFileObjectContext(
  [in]           PFILE_OBJECT FileObject,
  [in, optional] PVOID        OwnerId,
  [in, optional] PVOID        InstanceId
);

Параметры

[in] FileObject

Указатель на объект файла, для которого требуется запрашивать сведения о контексте.

[in, optional] OwnerId

Указатель на выделенную вызывающим переменную, которая однозначно идентифицирует фильтр владения структуры контекста объекта для каждого файла. Формат этой переменной зависит от драйвера фильтра.

[in, optional] InstanceId

Указатель на выделенную вызывающим переменную, которую можно использовать для различения структур контекста объекта файла, созданных одним драйвером фильтра. Формат этой переменной зависит от драйвера фильтра. Этот параметр является необязательным и может быть null.

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

FsRtlLookupPerFileObjectContext возвращает указатель на первый найденный контекст объекта для каждого файла. Если совпадение не найдено, FsRtlLookupPerFileObjectContext возвращает NULL.

Замечания

Драйвер фильтра файловой системы прежних версий вызывает FsRtlLookupPerFileObjectContext для получения структуры контекста каждого объекта файла. Структура контекста содержит сведения о контексте, которые драйвер фильтра поддерживает для объекта файла. Эта структура контекста должна быть ранее связана с объектом файла путем вызова функции FsRtlInsertPerFileObjectContext.

Если структура FSRTL_PER_FILEOBJECT_CONTEXT внедрена в фильтр, определенную в структуру контекста объекта файла, макрос CONTAINING_RECORD можно использовать для получения указателя на голову определяемой фильтром структуры.

Чтобы инициализировать структуру контекста объекта файла, используйте макрос FsRtlInitPerFileObjectContext .

Чтобы связать инициализированную структуру контекста объекта с файлом, используйте функцию FsRtlInsertPerFileObjectContext.

Чтобы удалить структуру контекста объекта файла, связанную с объектом файла, используйте функцию 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

FsRtlInsertPerFileObjectContext

FsRtlRemovePerFileObjectContext