NdisIMNotifyPnPEvent, fonction (ndis.h)
Remarque NDIS 5. x a été déconseillé 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. pilotes x vers NDIS 6. x, consultez Portage des pilotes NDIS 5.x vers NDIS 6.0.
NdisIMNotifyPnPEvent propage la notification d’un événement Plug-and-Play ou De Gestion de l’alimentation vers un pilote trop étendu.
Syntaxe
NDIS_STATUS NdisIMNotifyPnPEvent(
[in] NDIS_HANDLE MiniportHandle,
[in] PNET_PNP_EVENT NetPnPEvent
);
Paramètres
[in] MiniportHandle
Entrée de handle pour MiniportInitialize. Ce handle représente le pilote miniport affecté par l’événement Plug-and-Play ou Power Management 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 Power Management indiqué au pilote de protocole.
Valeur de retour
NdisIMNotifyPnPEvent peut retourner l’une des options suivantes :
Retourner le code | Description |
---|---|
NDIS_STATUS_SUCCESS | Le pilote overlying a réussi à propager l’événement Plug-and-Play. |
NDIS_STATUS_FAILURE | Le pilote surlysant a échoué l’événement Plug-and-Play propagé. |
La valeur de retour n’est significative que 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 événement Plug-and-Play ou Power Management au pilote overlying.
Si l’événement propagé est un NetEventQueryPower ou un NetEventQueryRemove, le pilote intermédiaire doit vérifier la valeur NDIS_STATUS retournée par NdisIMNotifyPnPEvent. Si l’état 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 l’état retourné est NDIS_STATUS_FAILURE, le pilote intermédiaire doit retourner NDIS_STATUS_FAILURE de son ProtocolPnPEvent 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 de l’appareil spécifié. Si l’état d’alimentation de l’appareil 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 de 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 le netEventReconfigure ou NetEventBindList est indiqué sur unNULLProtocolBindingContext. Si un NetEventReconfigure ou NetEventBindList est indiqué sur un ProtocolBindingContext, 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 du système pour NdisIMNotifyPnPEvent est disponible dans Windows XP et 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.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ndis.h (include Ndis.h) |
bibliothèque | Ndis.lib |
IRQL | PASSIVE_LEVEL |