NotifyTeredoPortChange, fonction
La fonction NotifyTeredoPortChange inscrit le pilote pour qu’il soit averti des modifications apportées au numéro de port UDP que le client Teredo utilise pour le port de service Teredo sur un ordinateur local.
Syntaxe
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Paramètres
Rappel [in]
Pointeur vers la fonction à appeler lorsqu’un changement de port client Teredo se produit. Cette fonction est appelée lorsqu’une notification de modification de port Teredo est reçue.CallerContext [in]
Contexte utilisateur passé à la fonction de rappel spécifiée dans le paramètre Callback lorsqu’une notification de modification de port Teredo est reçue.InitialNotification [in]
Valeur qui indique si le rappel doit être appelé immédiatement après l’inscription de la notification de changement de pilote. Cette notification initiale n’indique pas qu’une modification s’est produite sur le port du client Teredo. Ce paramètre confirme que le rappel est inscrit.NotificationHandle [in, out]
Pointeur utilisé pour retourner un handle que votre pilote peut utiliser ultérieurement pour annuler l’inscription de la notification de modification de pilote. En cas de réussite, un handle de notification est retourné dans ce paramètre. Si une erreur se produit, NULL est retourné.
Valeur retournée
NotifyTeredoPortChange retourne STATUS_SUCCESS si la fonction réussit.
Si la fonction échoue, NotifyTeredoPortChange retourne l’un des codes d’erreur suivants :
Code de retour | Description |
---|---|
ERROR_INVALID_HANDLE | Une erreur interne s’est produite lorsqu’un handle non valide a été rencontré. |
STATUS_INVALID_PARAMETER | Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si le paramètre Callback est un pointeur NULL . |
STATUS_NOT_ENOUGH_MEMORY | La mémoire était insuffisante. |
Autres | Utilisez la fonction FormatMessage pour obtenir la chaîne de message de l’erreur retournée. |
Notes
L’appel de la fonction de rappel spécifiée dans le paramètre Callback est sérialisé. La fonction de rappel doit être définie comme une fonction de type VOID. Les paramètres passés à la fonction de rappel sont les suivants.
Paramètre | Description |
---|---|
IN PVOID CallerContext |
Paramètre CallerContext qui est passé à la fonction NotifyTeredoPortChange lors de l’inscription du pilote pour les notifications de modification. |
IN USHORT Port |
Numéro de port UDP que le client Teredo utilise actuellement. Ce paramètre est égal à zéro lorsque la valeur MIB_NOTIFICATION_TYPE passée dans le paramètre NotificationType à la fonction de rappel est définie sur MibInitialNotification. Cette situation peut se produire uniquement si le paramètre InitialNotification qui est passé à NotifyTeredoPortChange a été défini sur TRUE lors de l’inscription du pilote pour les notifications de modification. |
IN MIB_NOTIFICATION_TYPE NotificationType |
Type de notification. Ce membre peut être l’une des valeurs du type d’énumération MIB_NOTIFICATION_TYPE . |
Votre pilote peut utiliser la fonction GetTeredoPort pour récupérer le numéro de port UDP initial que le client Teredo a utilisé pour le port de service Teredo.
Le port Teredo est dynamique et peut changer chaque fois que le client Teredo est redémarré sur l’ordinateur local. Un pilote peut s’inscrire pour être averti lorsque le port du service Teredo change en appelant la fonction NotifyTeredoPortChange .
Le client Teredo utilise également le port UDP statique 3544 pour écouter le trafic de multidiffusion envoyé sur l’adresse IPv4 de multidiffusion 224.0.0.253 telle que définie dans RFC 4380. Pour plus d’informations, consultez Teredo : Tunneling IPv6 over UDPthrough Network Address Translations (NATs) .
La fonction NotifyTeredoPortChange est principalement utilisée par les pilotes de pare-feu pour configurer les exceptions appropriées afin d’activer le trafic Teredo entrant et sortant.
Pour désinscrire le pilote pour les notifications de modification, appelez la fonction CancelMibChangeNotify2 , en passant le paramètre NotificationHandle que la fonction NotifyTeredoPortChange retourne.
Spécifications
Plateforme cible |
Universal |
Version |
Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows. |
En-tête |
Netioapi.h (inclure Netioapi.h) |
Bibliothèque |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |