Функция FltDeleteStreamHandleContext (fltkernel.h)
FltDeleteStreamHandleContext удаляет контекст, заданный экземпляром драйвера минифильтра для заданного дескриптора потока, и помечает контекст для удаления.
Синтаксис
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Параметры
[in] Instance
Указатель непрозрачного экземпляра для экземпляра драйвера минифильтра, контекст которого должен быть удален из списка контекстов, присоединенных к дескриптору потока.
[in] FileObject
Указатель на объект файла для файлового потока.
[out] OldContext
Указатель на переменную, выделенную вызывающим объектом, которая получает адрес удаленного контекста. Этот параметр является необязательным и может иметь значение NULL. Если значение OldContext не равно NULL и не указывает на NULL_CONTEXT, вызывающий объект отвечает за вызов FltReleaseContext для освобождения этого контекста, когда он больше не нужен.
Возвращаемое значение
FltDeleteStreamHandleContext возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:
Код возврата | Описание |
---|---|
STATUS_FLT_DELETING_OBJECT | Указанный экземпляр будет снесен. Это код ошибки. |
STATUS_NOT_FOUND | Соответствующий контекст не найден. Это код ошибки. |
STATUS_NOT_SUPPORTED | Файловая система не поддерживает контексты каждого потока для этого дескриптора потока файлов. Это код ошибки. |
Комментарии
Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.
Так как контексты считаются ссылочными, драйверу минифильтра обычно не требуется вызывать подпрограмму, например FltDeleteStreamHandleContext , для явного удаления контекста.
Драйвер минифильтра вызывает FltDeleteStreamHandleContext , чтобы удалить контекст из дескриптора потока и пометить контекст для удаления. Контекст, как правило, освобождается немедленно, если на него нет незавершенной ссылки (например, потому, что контекст по-прежнему используется другим потоком).
Чтобы выделить новый контекст, вызовите FltAllocateContext.
Чтобы получить контекст потока, вызовите Метод FltGetStreamHandleContext.
Чтобы задать контекст потока, вызовите FltSetStreamHandleContext.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по