Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
NDIS вызывает функцию FilterDetach драйвера фильтра, чтобы освободить все ресурсы, связанные с модулем фильтра.
Синтаксис
FILTER_DETACH FilterDetach;
VOID FilterDetach(
[in] NDIS_HANDLE FilterModuleContext
)
{...}
Параметры
[in] FilterModuleContext
Дескриптор области контекста для модуля фильтра, который NDIS удалит из стека драйверов. Драйвер фильтра создал и инициализировал эту область контекста в функции FilterAttach .
Возвращаемое значение
None
Remarks
FilterDetach — это обязательная функция. NDIS вызывает FilterDetach для удаления модуля фильтра из стека драйверов. NDIS вызывает FilterDetach , когда модуль фильтра находится в состоянии Приостановлено .
FilterDetach освобождает контекстные области драйвера и другие ресурсы (например, буферные пулы) для затронутого модуля фильтра.
После возврата драйвера фильтра из FilterDetach модуль фильтра находится в состоянии Отсоединенный .
NDIS вызывает FilterDetach по адресу IRQL = PASSIVE_LEVEL.
Примеры
Чтобы определить функцию FilterDetach , необходимо сначала предоставить объявление функции, определяющее тип определяемой функции. Windows предоставляет набор типов функций для драйверов. Объявление функции с помощью типов функций помогает анализу кода для драйверов, средству проверки статических драйверов (SDV) и другим средствам проверки находить ошибки, и это требование для написания драйверов для операционной системы Windows.Например, чтобы определить функцию FilterDetach с именем MyDetach, используйте тип FILTER_DETACH , как показано в следующем примере кода:
FILTER_DETACH MyDetach;
Затем реализуйте функцию следующим образом:
_Use_decl_annotations_
VOID
MyDetach(
NDIS_HANDLE FilterModuleContext
)
{...}
Тип функции FILTER_DETACH определен в файле заголовка Ndis.h. Чтобы более точно определить ошибки при запуске средств анализа кода, не забудьте добавить заметку Use_decl_annotations в определение функции. Заметка Use_decl_annotations гарантирует использование заметок, которые применяются к типу функции FILTER_DETACH в файле заголовка. Дополнительные сведения о требованиях к объявлениям функций см. в статье Объявление функций с помощью типов ролей функций для драйверов NDIS.
Сведения о Use_decl_annotations см. в статье Поведение функции с заметками.
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
| Целевая платформа | Windows |
| Header | ndis.h (включая Ndis.h) |
| IRQL | PASSIVE_LEVEL |