Функция FsRtlRemovePerFileObjectContext (ntifs.h)
Для "устаревшего" драйвера фильтра файловой системы функция FsRtlRemovePerFileObjectContext развязывает структуру контекста по каждому файлу и объекту из списка контекстов отдельных файловых объектов, ранее связанных с объектом файла.
Синтаксис
PFSRTL_PER_FILEOBJECT_CONTEXT FsRtlRemovePerFileObjectContext(
[in] PFILE_OBJECT FileObject,
[in, optional] PVOID OwnerId,
[in, optional] PVOID InstanceId
);
Параметры
[in] FileObject
Указатель на объект файла, для которого удаляется контекстная информация.
[in, optional] OwnerId
Указатель на переменную, выделенную вызывающим объектом, которая однозначно определяет фильтр владельцев структуры контекста для каждого файла и объекта. Формат этой переменной зависит от драйвера фильтра.
[in, optional] InstanceId
Указатель на переменную, выделенную вызывающим объектом, которую можно использовать для различения структур контекста отдельных файлов и объектов, созданных одним и тем же драйвером фильтра. Формат этой переменной зависит от драйвера фильтра. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
FsRtlRemovePerFileObjectContext отменяет связь и возвращает указатель на первый найденный контекст объекта файла. Если совпадение не найдено, функция FsRtlRemovePerFileObjectContext возвращает значение NULL.
Комментарии
"Устаревший" драйвер фильтра файловой системы вызывает FsRtlRemovePerFileObjectContext , чтобы удалить собственную структуру контекста для каждого файла-объекта со списком контекстов для каждого файла-объекта, связанных с файловым объектом. Все такие структуры контекста должны быть ранее связаны с объектом файла путем вызова FsRtlInsertPerFileObjectContext.
Если вызов FsRtlRemovePerFileObjectContext выполнен успешно, первая структура контекста для каждого файла и объекта, соответствующая OwnerId (и InstanceId, если она имеется), будет развязана, и на нее возвращается указатель. Этот указатель может использоваться драйвером фильтра для освобождения несвязанной структуры контекста.
Чтобы связать инициализированную структуру контекста для каждого файла с объектом файла, используйте функцию FsRtlInsertPerFileObjectContext .
Чтобы получить структуру контекста для каждого объекта файла, связанную с объектом файла, используйте функцию FsRtlLookupPerFileObjectContext .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Fltkernel.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по