Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
NDIS llama a la función de filterNetPnPEvent de un controlador de filtro para notificar al controlador de los eventos de red Plug and Play (PnP) y Administración de energía.
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 un 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 |
---|---|
|
El controlador procesó correctamente el evento PnP. |
|
El controlador produjo un error en el evento PnP. |
El valor devuelto solo es significativo cuando el evento propagado es un NetEventQueryPower o un evento de NetEventQueryRemove. Para todos los demás eventos propagados, el valor devuelto siempre se NDIS_STATUS_SUCCESS.
Observaciones
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 controladores excesivos o puede controlarlas y no reenviarlas. Para reenviar una notificación, llame a la función NdisFNetPNetPEvent. 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 emitido para una NIC subyacente. NDIS llama al FilterNetPnPEvent función de cada controlador de filtro que sobrepone una NIC y, a continuación, llama a la función ProtocolNetPnPEvent de cada controlador de protocolo excesivo.
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 correctamente.
NDIS llama a FilterNetPnPEvent en IRQL = PASSIVE_LEVEL.
Ejemplos de
Para definir un función FilterNetPnPEvent, primero debe proporcionar una declaración de función que identifique el tipo de función que va a definir. Windows proporciona un conjunto de tipos de función para controladores. Declarar una función mediante los tipos de función ayuda a análisis de código para controladores, comprobador de controladores estáticos (SDV) y otras herramientas de comprobación encuentran errores y es un requisito para escribir controladores para el sistema operativo Windows.Por ejemplo, para definir un FilterNetPnPEvent función denominada "MyNetPnPEvent", use el tipo de FILTER_NET_PNP_EVENT tal 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 Declaración de funciones mediante el uso de tipos de roles de función para controladores NDIS.
Para obtener información sobre Use_decl_annotations, vea Anotación del comportamiento de la función.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Windows |
encabezado de | ndis.h (incluya Ndis.h) |
irQL | PASSIVE_LEVEL |