Функция FltDeleteVolumeContext (fltkernel.h)

FltDeleteVolumeContext удаляет контекст, заданный драйвером минифильтра для заданного тома, и помечает контекст для удаления.

Синтаксис

NTSTATUS FLTAPI FltDeleteVolumeContext(
  [in]            PFLT_FILTER  Filter,
  [in]            PFLT_VOLUME  Volume,
  [out, optional] PFLT_CONTEXT *OldContext
);

Параметры

[in] Filter

Непрозрачный указатель фильтра для вызывающего объекта.

[in] Volume

Указатель непрозрачного тома.

[out, optional] OldContext

Указатель на переменную, выделенную вызывающим объектом, которая получает адрес удаленного контекста. Этот параметр является необязательным и может иметь значение NULL. Если значение OldContext не равно NULL и не указывает на NULL_CONTEXT, вызывающий объект отвечает за вызов FltReleaseContext для освобождения этого контекста, когда он больше не нужен.

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

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

Код возврата Описание
STATUS_FLT_DELETING_OBJECT Указанный том будет снесен. Это код ошибки.
STATUS_NOT_FOUND Соответствующий контекст не найден. Это код ошибки.

Комментарии

Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.

Так как контексты подсчитываются по ссылке, драйверу минифильтра обычно не требуется вызывать подпрограмму, например FltDeleteVolumeContext , для явного удаления контекста.

Драйвер минифильтра вызывает FltDeleteVolumeContext , чтобы удалить контекст из тома и пометить контекст для удаления. Контекст, как правило, освобождается немедленно, если на него нет незавершенной ссылки (например, потому, что контекст по-прежнему используется другим потоком).

Чтобы выделить новый контекст, вызовите FltAllocateContext.

Чтобы получить контекст тома, вызовите Метод FltGetVolumeContext.

Чтобы задать контекст тома, вызовите FltSetVolumeContext.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
IRQL <= APC_LEVEL

См. также раздел

FltAllocateContext

FltDeleteContext

FltGetVolumeContext

FltReleaseContext

FltSetVolumeContext