NdisIMNotifyPnPEvent, fonction (ndis.h)

Note NDIS 5. x a été déprécié et est remplacé par NDIS 6. x. Pour le développement de nouveaux pilotes NDIS, consultez Pilotes réseau à partir de Windows Vista. Pour plus d’informations sur le portage de NDIS 5. x pilotes vers NDIS 6. x, consultez Portage des pilotes NDIS 5.x vers NDIS 6.0.

NdisIMNotifyPnPEvent propage la notification d’un événement de Plug-and-Play ou de gestion de l’alimentation à un pilote qui se superpose.

Syntaxe

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

Paramètres

[in] MiniportHandle

Entrée de handle dans MiniportInitialize. Ce handle représente le pilote miniport affecté par l’événement Plug-and-Play ou gestion de l’alimentation passé à la fonction ProtocolPnPEvent de l’appelant.

[in] NetPnPEvent

Pointeur vers une structure NET_PNP_EVENT, qui décrit l’événement Plug-and-Play ou l’événement De gestion de l’alimentation indiqué au pilote de protocole.

Valeur retournée

NdisIMNotifyPnPEvent peut retourner l’une des options suivantes :

Code de retour Description
NDIS_STATUS_SUCCESS Le pilote qui a réussi a réussi à se propager Plug-and-Play’événement a réussi.
NDIS_STATUS_FAILURE Le pilote qui s’est superposé a échoué à l’événement Plug-and-Play propagé.

La valeur de retour est significative uniquement lorsque l’événement propagé est un NetEventQueryPower ou un NetEventQueryRemove. Pour tous les autres événements propagés, la valeur de retour est toujours NDIS_STATUS_SUCCESS.

Remarques

Un pilote intermédiaire NDIS appelle NdisIMNotifyPnPEvent dans le contexte de la fonction ProtocolPnPEvent du pilote pour propager la notification d’un Plug-and-Play ou d’un événement de gestion de l’alimentation au pilote qui se superpose.

Si l’événement propagé est un NetEventQueryPower ou un NetEventQueryRemove, le pilote intermédiaire doit case activée la valeur NDIS_STATUS retournée par NdisIMNotifyPnPEvent. Si le status retourné est NDIS_STATUS_SUCCESS, le pilote intermédiaire doit gérer l’événement en interne comme d’habitude, puis retourner NDIS_STATUS_SUCCESS à partir de sa fonction ProtocolPnPEvent. Si le status retourné est NDIS_STATUS_FAILURE, le pilote intermédiaire doit retourner NDIS_STATUS_FAILURE à partir de son ProtocolePnPEvent sans traitement supplémentaire.

Pour tous les autres événements propagés, NdisIMNotifyPnPEvent retourne toujours NDIS_STATUS_SUCCESS. Dans ce cas, la fonction ProtocolPnPEvent du pilote intermédiaire doit propager la NDIS_STATUS retournée par NdisIMNotifyPnPEvent.

La façon dont le pilote intermédiaire traite un NetEventSetPower reçu par sa fonction ProtocolPnPEvent dépend de l’état d’alimentation du périphérique spécifié. Si l’état d’alimentation du périphérique spécifié est NdisDeviceStateD0, le pilote intermédiaire doit gérer l’événement en interne comme d’habitude, puis appeler NdisIMNotifyPnPEvent. Pour tout autre état d’alimentation du périphérique spécifié, le pilote intermédiaire doit d’abord appeler NdisIMNotifyPnPEvent , puis gérer l’événement en interne comme d’habitude.

Un pilote intermédiaire doit appeler NdisIMNotifyPnPEvent pour propager un NetEventReconfigure ou NetEventBindList uniquement si NetEventReconfigure ou NetEventBindList est indiqué sur un protocole non NULLBindingContext. Si un NetEventReconfigure ou NetEventBindList est indiqué sur un protocole NULLBindingContext, le pilote intermédiaire ne doit pas appeler NdisIMNotifyPnPEvent pour propager l’événement.

Si un pilote intermédiaire gère un NetEventReconfigure ou un NetEventBindList, il doit valider toutes les données associées à l’événement. (Pour plus d’informations sur ces données, consultez NET_PNP_EVENT pour les pilotes de protocole.)

La prise en charge système de NdisIMNotifyPnPEvent est disponible dans Windows XP et les versions ultérieures.

  • Plateforme cible : Universelle
  • Version : non pris en charge pour les pilotes NDIS 6.0 dans Windows Vista. Utilisez NdisMNetPnPEventà la place. Pris en charge pour les pilotes NDIS 5.1 dans Windows Vista et Windows XP.

Configuration requise

Condition requise Valeur
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL

Voir aussi