Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja NotifyTeredoPortChange rejestruje sterownik, który ma zostać powiadomiony o zmianach w numerze portu UDP używanym przez klienta Teredo dla portu usługi Teredo na komputerze lokalnym.
Składnia
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Parametry
wywołania zwrotnego [in]
Wskaźnik do funkcji w celu wywołania zmiany portu klienta Teredo. Ta funkcja jest wywoływana po odebraniu powiadomienia o zmianie portu Teredo.CallerContext [in]
Kontekst użytkownika przekazywany do funkcji wywołania zwrotnego określonego w parametrze wywołania zwrotnego po odebraniu powiadomienia o zmianie portu Teredo.InitialNotification [in]
Wartość wskazująca, czy wywołanie zwrotne powinno być wywoływane natychmiast po zakończeniu rejestracji w celu powiadomienia o zmianie sterownika. To początkowe powiadomienie nie oznacza, że nastąpiła zmiana portu klienta Teredo. Ten parametr zapewnia potwierdzenie zarejestrowania wywołania zwrotnego.NotificationHandle [in, out]
Wskaźnik używany do zwracania uchwytu, którego sterownik może później użyć do wyrejestrowania powiadomienia o zmianie sterownika. Po pomyślnym zakończeniu w tym parametrze zostanie zwrócony uchwyt powiadomień. Jeśli wystąpi błąd, zostanie zwrócona o wartości NULL.
Wartość zwracana
NotifyTeredoPortChange zwraca STATUS_SUCCESS, jeśli funkcja powiedzie się.
Jeśli funkcja nie powiedzie się, NotifyTeredoPortChange zwraca jeden z następujących kodów błędów:
| Kod powrotny | Opis |
|---|---|
| ERROR_INVALID_HANDLE | Wystąpił błąd wewnętrzny, w którym napotkano nieprawidłowe dojście. |
| STATUS_INVALID_PARAMETER | Do funkcji przekazano nieprawidłowy parametr. Ten błąd jest zwracany, jeśli parametr wywołania zwrotnego jest wskaźnikiem o wartości null. |
| STATUS_NOT_ENOUGH_MEMORY | Za mało pamięci. |
| inne | Użyj funkcji FormatMessage, aby uzyskać ciąg komunikatu dla zwróconego błędu. |
Uwagi
Wywołanie funkcji wywołania zwrotnego określonego w parametrze Callback jest serializowane. Funkcja wywołania zwrotnego powinna być zdefiniowana jako funkcja typu VOID. Parametry przekazywane do funkcji wywołania zwrotnego obejmują następujące elementy.
| Parametr | Opis |
|---|---|
IN PVOID CallerContext |
Parametr CallerContext przekazywany do funkcji NotifyTeredoPortChange podczas rejestrowania sterownika dla powiadomień o zmianie. |
IN USHORT Port |
Numer portu UDP używany obecnie przez klienta Teredo. Ten parametr jest zerowy, gdy wartość MIB_NOTIFICATION_TYPE przekazana w parametrze NotificationType funkcji wywołania zwrotnego jest ustawiona na wartość MibInitialNotification. Taka sytuacja może wystąpić tylko wtedy, gdy parametr InitialNotification przekazany do NotifyTeredoPortChange został ustawiony na true podczas rejestrowania sterownika w celu otrzymywania powiadomień o zmianie. |
IN MIB_NOTIFICATION_TYPE NotificationType |
Typ powiadomienia. Ten element członkowski może być jedną z wartości typu wyliczenia MIB_NOTIFICATION_TYPE. |
Sterownik może użyć funkcji GetTeredoPort w celu pobrania początkowego numeru portu UDP używanego przez klienta Teredo na potrzeby portu usługi Teredo.
Port Teredo jest dynamiczny i może zmieniać się w dowolnym momencie ponownego uruchomienia klienta Teredo na komputerze lokalnym. Sterownik można zarejestrować, aby otrzymywać powiadomienia, gdy port usługi Teredo ulegnie zmianie, wywołując funkcję NotifyTeredoPortChange.
Klient Teredo używa również statycznego portu UDP 3544 do nasłuchiwania ruchu multiemisji wysyłanego na adres IPv4 multiemisji 224.0.0.253 zgodnie z definicją w dokumencie RFC 4380. Aby uzyskać więcej informacji, zobacz Teredo: tunelowanie IPv6 za pośrednictwem translacji adresów sieciowych (NATs) udPthrough.
Funkcja NotifyTeredoPortChange jest używana głównie przez sterowniki zapory do konfigurowania odpowiednich wyjątków w celu włączenia ruchu przychodzącego i wychodzącego Teredo.
Aby wyrejestrować sterownik dla powiadomień o zmianie, wywołaj funkcję CancelMibChangeNotify2, przekazując parametr NotificationHandle zwracany przez funkcję NotifyTeredoPortChange.
Wymagania
Platforma docelowa |
universal |
Wersja |
Dostępne w systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows. |
Nagłówek |
Netioapi.h (include Netioapi.h) |
Biblioteka |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |