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

NDIS llama a la función FilterNetPnPEvent de un controlador de filtro para notificar al controlador de eventos de Plug and Play de red (PnP) y administración de energía.

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

Sintaxis

FILTER_NET_PNP_EVENT FilterNetPnpEvent;

NDIS_STATUS FilterNetPnpEvent(
  [in] NDIS_HANDLE FilterModuleContext,
  [in] PNET_PNP_EVENT_NOTIFICATION NetPnPEventNotification
)
{...}

Parámetros

[in] FilterModuleContext

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

[in] NetPnPEventNotification

Puntero a NET_PNP_EVENT_NOTIFICATION estructura, que describe el evento PnP o el evento de Administración de energía que se indica al controlador de filtro.

Valor devuelto

FilterNetPnPEvent puede devolver cualquiera de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS
El controlador procesó correctamente el evento PnP.
NDIS_STATUS_FAILURE
El controlador produjo un error en el evento PnP.
 

El valor devuelto solo es significativo cuando el evento propagado es un evento NetEventQueryPower o un evento NetEventQueryRemove . Para todos los demás eventos propagados, el valor devuelto siempre se NDIS_STATUS_SUCCESS.

Comentarios

FilterNetPnPEvent es una función opcional. Si un controlador de filtro no controla los eventos PnP de red, puede establecer el punto de entrada de esta función en NULL cuando llama a . Función NdisFRegisterFilterDriver .

FilterNetPnPEvent es similar a la función ProtocolNetPnPEvent del controlador de protocolo. Un controlador de filtro puede reenviar estas notificaciones a los controladores que se sobreponen o puede controlarlas y no reenviarlas. Para reenviar una notificación, llame a la función NdisFNetPnPEvent . No confunda esta función con Función FilterDevicePnPEventNotify , que filtra las notificaciones que se dirigen a la pila a los controladores subyacentes.

NDIS llama a FilterNetPnPEvent para notificar a un controlador de filtro un evento PnP o Power Management que se emitió para una NIC subyacente. NDIS llama a la función FilterNetPnPEvent de cada controlador de filtro que sobrepone una NIC y, a continuación, llama a la función ProtocolNetPnPEvent de cada controlador de protocolo sobreaplicado.

Cuando se inserta o elimina un módulo de filtro de una pila de controladores, las características de la pila pueden cambiar. NDIS envía un evento PnP a todos los enlaces de protocolo afectados y los módulos de filtro para notificarles este cambio. Los controladores de filtro deben controlar estos cambios adecuadamente.

NDIS llama a FilterNetPnPEvent en IRQL = PASSIVE_LEVEL.

Ejemplos

Para definir una función FilterNetPnPEvent , 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 FilterNetPnPEvent denominada "MyNetPnPEvent", use el tipo de FILTER_NET_PNP_EVENT como se muestra en este ejemplo de código:

FILTER_NET_PNP_EVENT MyNetPnPEvent;

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

_Use_decl_annotations_
NDIS_STATUS
 MyNetPnPEvent(
    NDIS_HANDLE  FilterModuleContext,
    PNET_PNP_EVENT_NOTIFICATION  NetPnPEvent
    )
  {...}

El tipo de función FILTER_NET_PNP_EVENT 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_NET_PNP_EVENT 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

FilterDevicePnPEventNotify

NET_PNP_EVENT_NOTIFICATION

NdisFNetPnPEvent

NdisFRegisterFilterDriver

ProtocolNetPnPEvent