FILTER_DETACH función de devolución de llamada (ndis.h)

NDIS llama a la función FilterDetach de un controlador de filtro para liberar todos los recursos asociados a un módulo de filtro.

Nota Debe declarar la función mediante el tipo FILTER_DETACH . Para obtener más información, consulte la sección Ejemplos siguientes.
 

Sintaxis

FILTER_DETACH FilterDetach;

void FilterDetach(
  [in] NDIS_HANDLE FilterModuleContext
)
{...}

Parámetros

[in] FilterModuleContext

Identificador del área de contexto del módulo de filtro que NDIS quitará de la pila de controladores. El controlador de filtro creó e inicializó este área de contexto en la función FilterAttach .

Valor devuelto

None

Observaciones

FilterDetach es una función necesaria. NDIS llama a FilterDetach para quitar un módulo de filtro de una pila de controladores. NDIS llama a FilterDetach cuando el módulo de filtro está en estado Pausado .

FilterDetach libera las áreas de contexto del controlador y otros recursos (como los grupos de búferes) para el módulo de filtro afectado.

Después de que el controlador de filtro vuelva de FilterDetach, el módulo de filtro se encuentra en estado Desasociado .

NDIS llama a FilterDetach en IRQL = PASSIVE_LEVEL.

Ejemplos

Para definir una función FilterDetach , primero debe proporcionar una declaración de función que identifique el tipo de función que está definiendo. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a Code Analysis for Drivers, Static Driver Verifier (SDV) y otras herramientas de comprobación a encontrar errores y es un requisito para escribir controladores para el sistema operativo Windows.

Por ejemplo, para definir una función FilterDetach denominada "MyDetach", use el tipo FILTER_DETACH como se muestra en este ejemplo de código:

FILTER_DETACH MyDetach;

A continuación, implemente la función de la siguiente manera:

_Use_decl_annotations_
VOID
 MyDetach(
    NDIS_HANDLE  FilterModuleContext
    )
  {...}

El tipo de función FILTER_DETACH se define en el archivo de encabezado Ndis.h. Para identificar con más precisión los errores al ejecutar las herramientas de análisis de código, asegúrese de agregar la anotación Use_decl_annotations a la definición de función. La anotación Use_decl_annotations garantiza que se usen las anotaciones que se aplican al tipo de función FILTER_DETACH en el archivo de encabezado. Para obtener más información sobre los requisitos de las declaraciones de función, vea Declarar funciones mediante tipos de roles de función para controladores NDIS.

Para obtener información sobre Use_decl_annotations, consulte Anotación del comportamiento de la función.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Plataforma de destino Windows
Encabezado ndis.h (incluya Ndis.h)
IRQL PASSIVE_LEVEL

Consulte también

FilterAttach