Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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í.