Partager via


NotifyTeredoPortChange, fonction

La fonction NotifyTeredoPortChange enregistre le pilote pour être informé des modifications apportées au numéro de port UDP utilisé par le client Teredo pour le port du 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

  • de 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 de rappel 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 modification du pilote. Cette notification initiale n’indique pas qu’une modification s’est produite sur le port du client Teredo. Ce paramètre indique que le rappel est inscrit.

  • NotificationHandle [in, out]
    Pointeur utilisé pour retourner un handle que votre pilote peut utiliser ultérieurement pour désinscrire la notification de modification du pilote. En cas de réussite, un handle de notification est retourné dans ce paramètre. Si une erreur se produit, NULL est retournée.

Valeur de retour

NotifyTeredoPortChange retourne STATUS_SUCCESS si la fonction réussit.

Si la fonction échoue, NotifyTeredoPortChange retourne l’un des codes d’erreur suivants :

Retourner le code Description
ERROR_INVALID_HANDLE

Une erreur interne s’est produite quand un handle non valide a été rencontré.

STATUS_INVALID_PARAMETER

Un paramètre non valide a été passé à la fonction. Cette erreur est retournée si le paramètre de rappel est un pointeur NULL.

STATUS_NOT_ENOUGH_MEMORY

Il y avait une mémoire insuffisante.

autres

Utilisez la fonction FormatMessage pour obtenir la chaîne de message pour l’erreur retournée.

Remarques

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 incluent les éléments suivants.

Paramètre Description

IN PVOID CallerContext

Paramètre CallerContext transmis à la fonction NotifyTeredoPortChange lors de l’inscription du pilote pour les notifications de modification.

IN USHORT Port

Numéro de port UDP utilisé actuellement par le client Teredo. 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 ne peut se produire que si le paramètre InitialNotification 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 utilisé par le client Teredo pour le port du 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 multidiffusion 224.0.0.253 tel que défini dans RFC 4380. Pour plus d’informations, consultez Teredo : Tunneling IPv6 over UDPthrough Network Address Translation (NATs).

La fonction NotifyTeredoPortChange est principalement utilisée par les pilotes de pare-feu pour configurer les exceptions appropriées pour 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 retourné par la fonction NotifyTeredoPortChange.

Exigences

Plateforme cible

universel

Version

Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.

En-tête

Netioapi.h (include Netioapi.h)

Bibliothèque

Netio.lib

IRQL

< DISPATCH_LEVEL

Voir aussi

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable