Partager via


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

Voir aussi

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable