функция обратного вызова PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK (fltkernel.h)
Драйвер минифильтра может зарегистрировать подпрограмму типа PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK в качестве подпрограммы драйвера minifilter InstanceQueryTeardownCallback.
Синтаксис
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
Параметры
[in] FltObjects
Указатель на структуру FLT_RELATED_OBJECTS, содержащую непрозрачные указатели для объектов, связанных с текущей операцией.
[in] Flags
Битовая маска флагов, описывающая, почему была вызвана подпрограмма обратного вызова запроса для запроса экземпляра. В настоящее время флаги не определены.
Возвращаемое значение
Эта подпрограмма обратного вызова возвращает STATUS_SUCCESS или значение NTSTATUS, например одно из следующих:
Возвращаемый код | Описание |
---|---|
|
Возвращая это значение состояния, экземпляр драйвера минифильтра не отсоединяется. Это код ошибки. |
Замечания
Когда драйвер минифильтра регистрирует себя путем вызова FltRegisterFilter из подпрограммы driverEntry DriverEntry, он может зарегистрировать подпрограмму типа PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK в качестве драйвера minifilter InstanceQueryTeardownCallback подпрограммы.
Чтобы зарегистрировать подпрограмму InstanceQueryTeardownCallback, драйвер минифильтра сохраняет адрес подпрограммы типа PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK в элементе InstanceQueryTeardownCallback структуры FLT_REGISTRATION, которую драйвер минифильтра передает в качестве параметра регистрации FltRegisterFilter.
Диспетчер фильтров вызывает эту подпрограмму, чтобы позволить драйверу минифильтра реагировать на запрос отсоединения вручную. Такой запрос получается, когда приложение в режиме пользователя вызывает FilterDetach или компонент режима ядра вызывает FltDetachVolume.
Эта подпрограмма не вызывается для автоматических или обязательных запросов отсоединения, например при выгрузке драйвера мини-фильтра или отключения тома.
Если эта подпрограмма возвращает ошибку или предупреждение код NTSTATUS, например STATUS_FLT_DO_NOT_DETACH, экземпляр драйвера мини-фильтра не отсоединяется от тома. В противном случае экземпляр отсоединен.
Если драйвер минифильтра не определяет подпрограмму InstanceQueryTeardownCall back, его экземпляры нельзя отсоединить вручную, вызвав FilterDetach или FltDetachVolume.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | fltkernel.h (include Fltkernel.h) |
IRQL | PASSIVE_LEVEL |