Dela via


Funktionen NotifyTeredoPortChange

Funktionen NotifyTeredoPortChange registrerar drivrutinen som ska meddelas om ändringar i UDP-portnumret som Teredo-klienten använder för Teredo-tjänstporten på en lokal dator.

Syntax

NETIOAPI_API NotifyTeredoPortChange(
  _In_    PTEREDO_PORT_CHANGE_CALLBACK Callback,
  _In_    PVOID                        CallerContext,
  _In_    BOOLEAN                      InitialNotification,
  _Inout_ HANDLE *                     NotificationHandle
);

Parametrar

  • Återanrop [in]
    En pekare till funktionen som ska anropas när en Teredo-klientport ändras. Den här funktionen anropas när ett Meddelande om ändring av Teredo-port tas emot.

  • CallerContext [in]
    En användarkontext som skickas till motringningsfunktionen som anges i parametern Motringning när ett Meddelande om ändring av Teredo-port tas emot.

  • InitialNotification [in]
    Ett värde som anger om återanropet ska anropas omedelbart efter att registreringen för meddelandet om drivrutinsändring har slutförts. Det här första meddelandet anger inte att en ändring har gjorts i Teredo-klientporten. Den här parametern ger en bekräftelse på att återanropet är registrerat.

  • NotificationHandle [in, ut]
    En pekare som används för att returnera ett handtag som drivrutinen senare kan använda för att avregistrera meddelandet om drivrutinsändring. Vid lyckat resultat returneras ett meddelandehandtag i den här parametern. Om ett fel uppstår returneras NULL-.

Returvärde

NotifyTeredoPortChange returnerar STATUS_SUCCESS om funktionen lyckas.

Om funktionen misslyckas returnerar NotifyTeredoPortChange någon av följande felkoder:

Returnera kod Beskrivning
ERROR_INVALID_HANDLE

Ett internt fel uppstod när ett ogiltigt handtag påträffades.

STATUS_INVALID_PARAMETER

En ogiltig parameter skickades till funktionen. Det här felet returneras om parametern Motringning är en NULL- pekare.

STATUS_NOT_ENOUGH_MEMORY

Det fanns inte tillräckligt med minne.

Andra

Använd funktionen FormatMessage för att hämta meddelandesträngen för det returnerade felet.

Anmärkningar

Anropet av återanropsfunktionen som anges i parametern Motringning serialiseras. Återanropsfunktionen ska definieras som en funktion av typen VOID. Parametrarna som skickas till återanropsfunktionen innehåller följande.

Parameter Beskrivning

IN PVOID CallerContext

Parametern CallerContext som skickas till funktionen NotifyTeredoPortChange när drivrutinen registreras för ändringsmeddelanden.

I USHORT Port

DET UDP-portnummer som Teredo-klienten använder för närvarande. Den här parametern är noll när det MIB_NOTIFICATION_TYPE värde som skickas i parametern NotificationType till återanropsfunktionen anges till MibInitialNotification. Den här situationen kan bara inträffa om parametern InitialNotification som skickas till NotifyTeredoPortChange har angetts till TRUE- när drivrutinen registreras för ändringsmeddelanden.

IN MIB_NOTIFICATION_TYPE NotificationType

Meddelandetypen. Den här medlemmen kan vara ett av värdena från MIB_NOTIFICATION_TYPE uppräkningstyp.

Drivrutinen kan använda funktionen GetTeredoPort för att hämta det första UDP-portnumret som Teredo-klienten använde för Teredo-tjänstporten.

Teredo-porten är dynamisk och kan ändras när som helst som Teredo-klienten startas om på den lokala datorn. En drivrutin kan registrera sig för att meddelas när Teredo-tjänstporten ändras genom att anropa funktionen NotifyTeredoPortChange.

Teredo-klienten använder också statisk UDP-port 3544 för att lyssna på multicast-trafik som skickas på multicast IPv4-adressen 224.0.0.253 enligt definitionen i RFC 4380. Mer information finns i Teredo: Tunneling IPv6 over UDPthrough Network Address Translations (NATs).

Funktionen NotifyTeredoPortChange används främst av brandväggsdrivrutiner för att konfigurera lämpliga undantag för att aktivera inkommande och utgående Teredo-trafik.

Om du vill avregistrera drivrutinen för ändringsmeddelanden anropar du funktionen CancelMibChangeNotify2 och skickar parametern NotificationHandle som funktionen NotifyTeredoPortChang e returnerar.

Krav

Målplattform

Universell

Version

Finns i Windows Vista och senare versioner av Windows-operativsystemen.

Rubrik

Netioapi.h (inkludera Netioapi.h)

Bibliotek

Netio.lib

IRQL

< DISPATCH_LEVEL

Se även

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable