функция обратного вызова FILTER_DETACH (ndis.h)

NDIS вызывает функцию FilterDetach драйвера фильтра, чтобы освободить все ресурсы, связанные с модулем фильтра.

Примечание Функцию необходимо объявить с помощью типа FILTER_DETACH . Дополнительные сведения см. в следующем разделе Примеры.
 

Синтаксис

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

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

FilterAttach