Ajout et suppression de modèles Wake on LAN
Pour ajouter un modèle de wake-on-LAN (WOL), les pilotes de protocole NDIS émettent une demande de jeu OID de OID_PM_ADD_WOL_PATTERN. Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_PM_WOL_PATTERN . Les pilotes de protocole doivent spécifier un paquet WOL si ce paquet WOL est pris en charge par une carte réseau. Lorsque la carte réseau ne prend pas en charge le paquet WOL, le pilote de protocole doit utiliser la méthode de veille bitmap WOL.
NDIS_PM_WOL_PATTERN inclut les informations suivantes :
Priorité
Contient la priorité du modèle WOL. Si un pilote trop élevé ajoute un modèle WOL de priorité supérieure lorsqu’il n’y a pas de ressources disponibles pour plus de modèles WOL, NDIS peut supprimer un modèle WOL de priorité inférieure pour libérer des ressources. Les pilotes miniport doivent ignorer ce membre. Un pilote de protocole peut spécifier n’importe quelle priorité qui se trouve dans la plage prédéfinie de NDIS_PM_WOL_PRIORITY_LOWEST à NDIS_PM_WOL_PRIORITY_HIGHEST.
WoLPacketType
Contient une valeur d’énumération NDIS_PM_WOL_PACKET qui spécifie le type du paquet WOL.
Friendlyname
Contient une structure NDIS_PM_COUNTED_STRING qui contient la description lisible par l’utilisateur du paquet WOL.
PatternId
Contient une valeur fournie par NDIS qui identifie le modèle WOL. Avant que NDIS n’envoie la requête OID OID_PM_ADD_WOL_PATTERN aux pilotes NDIS sous-jacents ou termine la demande au pilote qui se superpose, NDIS définit PatternId sur une valeur unique parmi les modèles WOL d’une carte réseau.
NextWoLPatternOffset
Contient le décalage (à partir du début de la requête OID InformationBuffer) d’une structure NDIS_PM_WOL_PATTERN par la structure NDIS_PM_WOL_PATTERN suivante dans une liste pour l’OID OID_PM_WOL_PATTERN_LIST . Pour plus d’informations sur OID_PM_WOL_PATTERN_LIST, consultez Obtention des paramètres actuels des modèles WOL.
WoLPattern
Contient l’une des structures IPv4TcpSynParameters, IPv6TcpSynParameters, EapolRequestIdMessageParameters ou WoLBitMapPattern dans une union.
IPv4TcpSynParameters
Contient des informations SYN (IPv4 TCP synchronize).
IPv6TcpSynParameters
Contient des informations TCP SYN IPv6.
EapolRequestIdMessageParameters
Contient les paramètres de message d’identité de requête 802.1X EAP sur LAN (EAPOL).
WoLBitMapPattern
Contient une spécification de modèle bitmap WOL.
NDIS affecte un identificateur unique pour la carte réseau à chaque modèle WOL. L’identificateur de modèle est une valeur unique pour chacun des modèles définis sur une carte réseau. Toutefois, l’identificateur de modèle n’est pas globalement unique sur toutes les cartes réseau. NDIS transmet l’identificateur à la carte réseau sous-jacente lorsque NDIS envoie la requête OID OID_PM_ADD_WOL_PATTERN au pilote miniport. Si l’ajout du modèle WOL réussit, NDIS retourne l’identificateur au pilote qui a ajouté le modèle WOL. Le pilote qui se superpose utilise l’identificateur pour supprimer un modèle WOL précédemment ajouté. L’identificateur de modèle est également utilisé dans status indications aux pilotes qui se superposent lorsqu’un modèle WOL est supprimé d’une carte réseau.
Les pilotes de protocole doivent émettre la demande de jeu OID de OID_PM_REMOVE_WOL_PATTERN pour supprimer tous les modèles qu’ils ont ajoutés à une carte réseau avant de fermer une liaison à cette carte réseau. Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers un identificateur de modèle.
Les applications en mode utilisateur utilisent le GUID WMI GUID_PM_REMOVE_WOL_PATTERN pour supprimer un modèle WOL précédemment ajouté d’une carte réseau. NDIS traduit cette requête WMI en demande de jeu OID de OID_PM_REMOVE_WOL_PATTERN pour la carte réseau. NDIS supprime tous les modèles WOL ajoutés par une application à partir de la carte réseau avant d’arrêter la carte réseau.
NDIS permet à plusieurs pilotes de protocole NDIS d’ajouter des modèles WOL à la même carte réseau. Pour garantir que le bon ensemble de modèles WOL a été défini lorsque le nombre de modèles WOL demandés est supérieur à ce qu’une carte réseau peut prendre en charge, les pilotes de protocole attribuent une priorité à chaque modèle WOL demandé dans le membre Priority de la structure NDIS_PM_WOL_PATTERN. Lorsque NDIS ne peut pas ajouter un nouveau modèle WOL à priorité élevée parce que la carte réseau est en panne de ressources, NDIS supprime l’un des modèles de priorité inférieure (le cas échéant) et tente d’ajouter à nouveau le modèle de priorité élevée.
Note Un pilote miniport doit échouer à une demande d’ajout de modèle et retourner le code STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL status pour permettre à NDIS de hiérarchiser les modèles.
Si NDIS supprime l’un des modèles de priorité inférieure, il avertit le pilote trop élevé qui définit le modèle supprimé avec une indication NDIS_STATUS_PM_WOL_PATTERN_REJECTED status. Le membre StatusBuffer de la structure NDIS_STATUS_INDICATION contient un ULONG pour l’identificateur de modèle WOL du modèle WOL rejeté. NDIS a fourni l’identificateur de modèle WOL dans le membre PatternId de la structure NDIS_PM_WOL_PATTERN .
Pour les cartes réseau sans fil qui peuvent utiliser un élément d’infrastructure pour décharger les modèles à mesure qu’ils circulent dans l’infrastructure, un nouvel élément d’infrastructure peut ne pas prendre en charge les mêmes fonctionnalités et le pilote miniport peut envoyer une NDIS_STATUS_PM_WOL_PATTERN_REJECTED status indication avec un code de status approprié.