Sdílet prostřednictvím


NotifyTeredoPortChange – funkce

Funkce NotifyTeredoPortChange registruje ovladač, který má být upozorněn na změny čísla portu UDP, které klient Teredo používá pro port služby Teredo na místním počítači.

Syntax

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

Parametry

  • zpětné volání [in]
    Ukazatel na funkci, která se má volat, když dojde ke změně portu klienta Teredo. Tato funkce se volá při přijetí oznámení o změně portu Teredo.

  • CallerContext [in]
    Kontext uživatele, který se předává funkci zpětného volání, která je zadána v parametru zpětného volání při přijetí oznámení o změně portu Teredo.

  • InitialNotification [in]
    Hodnota, která označuje, zda má být zpětné volání volána okamžitě po dokončení registrace pro oznámení o změně ovladače. Toto počáteční oznámení neznamená, že došlo ke změně portu klienta Teredo. Tento parametr poskytuje potvrzení registrace zpětného volání.

  • NotificationHandle [in, out]
    Ukazatel použitý k vrácení popisovače, který může ovladač později použít k zrušení registrace oznámení o změně ovladače. Při úspěchu se v tomto parametru vrátí popisovač oznámení. Pokud dojde k chybě, vrátí NULL.

Návratová hodnota

NotifyTeredoPortChange vrátí STATUS_SUCCESS, pokud bude funkce úspěšná.

Pokud funkce selže, NotifyTeredoPortChange vrátí jeden z následujících kódů chyb:

Návratový kód Popis
ERROR_INVALID_HANDLE

Při výskytu neplatného popisovače došlo k vnitřní chybě.

STATUS_INVALID_PARAMETER

Funkci byla předána neplatná hodnota parametru. Tato chyba se vrátí, pokud je parametr zpětného volání ukazatelem NULL.

STATUS_NOT_ENOUGH_MEMORY

Nedostatek paměti.

Jiné

Pomocí funkce FormatMessage získejte řetězec zprávy pro vrácenou chybu.

Poznámky

Vyvolání funkce zpětného volání, která je zadána v Zpětné volání parametr je serializován. Funkce zpětného volání by měla být definována jako funkce typu VOID. Parametry předávané funkci zpětného volání zahrnují následující.

Parametr Popis

IN PVOID CallerContext

CallerContext parametr, který se předá funkci NotifyTeredoPortChange při registraci ovladače pro oznámení o změnách.

portu USHORT

Číslo portu UDP, které aktuálně používá klient Teredo. Tento parametr je nula, pokud je MIB_NOTIFICATION_TYPE hodnota předaná v parametru NotificationType do funkce zpětného volání nastavena na MibInitialNotification. K této situaci může dojít pouze v případě, že InitialNotification parametr předaný NotifyTeredoPortChange byl při registraci ovladače pro oznámení o změnách nastaven na TRUE.

IN MIB_NOTIFICATION_TYPE NotificationType

Typ oznámení. Tento člen může být jednou z hodnot z typu MIB_NOTIFICATION_TYPE výčtu.

Ovladač může použít funkci GetTeredoPort k načtení počátečního čísla portu UDP, které klient Teredo použil pro port služby Teredo.

Port Teredo je dynamický a může změnit čas restartování klienta Teredo na místním počítači. Ovladač se může zaregistrovat, aby byl upozorněn, když se port služby Teredo změní voláním funkce NotifyTeredoPortChange.

Klient Teredo také používá statický port UDP 3544 pro naslouchání provozu vícesměrového vysílání odeslaného na adresu IPv4 vícesměrového vysílání 224.0.0.253, jak je definováno v RFC 4380. Další informace najdete v tématu Teredo: Tunelování IPv6 přes překlady adres UDPthrough (NAT).

Funkce NotifyTeredoPortChange se používá především ovladači brány firewall ke konfiguraci příslušných výjimek pro povolení příchozího a odchozího provozu Teredo.

Chcete-li zrušit registraci ovladače pro oznámení o změnách, zavolejte funkciCancelMibChangeNotify2 a předejte NotificationHandle parametr, který NotifyTeredoPortChange funkce vrátí.

Požadavky

Cílová platforma

univerzální

Verze

K dispozici v systémech Windows Vista a novějších verzích operačních systémů Windows.

Záhlaví

Netioapi.h (včetně Netioapi.h)

Knihovna

Netio.lib

IRQL

< DISPATCH_LEVEL

Viz také

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable