Función NdisIMNotifyPnPEvent (ndis.h)

Nota NDIS 5. x ha quedado en desuso y se sustituye por NDIS 6. x. Para el nuevo desarrollo de controladores NDIS, consulte Controladores de red a partir de Windows Vista. Para obtener información sobre cómo migrar NDIS 5. x controladores a NDIS 6. x, consulte Migración de controladores NDIS 5.x a NDIS 6.0.

NdisIMNotifyPnPEvent propaga la notificación de un evento de administración de Plug and Play o Power Management a un controlador de exceso.

Sintaxis

NDIS_STATUS NdisIMNotifyPnPEvent(
  [in] NDIS_HANDLE    MiniportHandle,
  [in] PNET_PNP_EVENT NetPnPEvent
);

Parámetros

[in] MiniportHandle

Entrada de identificador en MiniportInitialize. Este identificador representa el controlador de minipuerto afectado por el evento de administración de energía o Plug and Play pasado a la función ProtocolPnPEvent del autor de la llamada.

[in] NetPnPEvent

Puntero a una estructura de NET_PNP_EVENT, que describe el evento Plug and Play o evento de Administración de energía que se indica al controlador de protocolo.

Valor devuelto

NdisIMNotifyPnPEvent puede devolver cualquiera de las siguientes opciones:

Código devuelto Descripción
NDIS_STATUS_SUCCESS El controlador de exceso se propagó correctamente Plug and Play evento se realizó correctamente.
NDIS_STATUS_FAILURE El controlador de sobreaprovisionamiento produjo un error en el evento de Plug and Play propagado.

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

Comentarios

Un controlador intermedio NDIS llama a NdisIMNotifyPnPEvent en el contexto de la función ProtocolPnPEvent del controlador para propagar la notificación de un evento de administración de Plug and Play o Power Management al controlador que está sobreaplicado.

Si el evento propagado es NetEventQueryPower o NetEventQueryRemove, el controlador intermedio debe comprobar el valor de NDIS_STATUS devuelto por NdisIMNotifyPnPEvent. Si el estado devuelto es NDIS_STATUS_SUCCESS, el controlador intermedio debe controlar el evento internamente como de costumbre y, a continuación, devolver NDIS_STATUS_SUCCESS de su función ProtocolPnPEvent . Si el estado devuelto es NDIS_STATUS_FAILURE, el controlador intermedio debe devolver NDIS_STATUS_FAILURE de su ProtocolPnPEvent sin procesar más.

Para todos los demás eventos propagados, NdisIMNotifyPnPEvent siempre devuelve NDIS_STATUS_SUCCESS. La función ProtocolPnPEvent del controlador intermedio en tales casos debe propagar el NDIS_STATUS devuelto por NdisIMNotifyPnPEvent.

El modo en que el controlador intermedio procesa un NetEventSetPower recibido por su función ProtocolPnPEvent depende del estado de alimentación del dispositivo especificado. Si el estado de energía del dispositivo especificado es NdisDeviceStateD0, el controlador intermedio debe controlar el evento internamente como de costumbre y, a continuación, llamar a NdisIMNotifyPnPEvent. Para cualquier otro estado de alimentación del dispositivo especificado, el controlador intermedio debe llamar primero a NdisIMNotifyPnPEvent y, a continuación, controlar el evento internamente como de costumbre.

Un controlador intermedio debe llamar a NdisIMNotifyPnPEvent para propagar netEventReconfigure o NetEventBindList solo si netEventReconfigure o NetEventBindList se indica en un protocolBindingContext que no sea NULL. Si se indica netEventReconfigure o NetEventBindList en un ProtocolBindingContextNULL, el controlador intermedio no debe llamar a NdisIMNotifyPnPEvent para propagar el evento.

Si un controlador intermedio controla netEventReconfigure o NetEventBindList, debe validar los datos asociados al evento. (Para obtener más información sobre estos datos, consulte NET_PNP_EVENT para controladores de protocolo).

La compatibilidad del sistema con NdisIMNotifyPnPEvent está disponible en Windows XP y versiones posteriores.

  • Plataforma de destino: Universal
  • Versión: no se admite para controladores NDIS 6.0 en Windows Vista. Use NdisMNetPnPEventen su lugar. Compatible con controladores NDIS 5.1 en Windows Vista y Windows XP.

Requisitos

Requisito Valor
Header ndis.h (incluya Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL

Consulte también