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 NotifyUnicastIpAddressChange rejestruje sterownik, który ma zostać powiadomiony o zmianach we wszystkich interfejsach IP emisji pojedynczej, adresach IPv4 emisji pojedynczej lub adresach IPv6 emisji pojedynczej na komputerze lokalnym.
Składnia
NETIOAPI_API NotifyUnicastIpAddressChange(
_In_ ADDRESS_FAMILY Family,
_In_ PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE *NotificationHandle
);
Parametry
rodziny [in]
Rodzina adresów do zarejestrowania sterownika w celu otrzymywania powiadomień o zmianie.Możliwe wartości rodziny adresów są wymienione w pliku nagłówka Winsock2.h. Należy pamiętać, że wartości rodziny adresów AF_ i rodziny protokołów PF_ są identyczne (na przykład AF_INET i PF_INET), aby można było użyć dowolnej stałej.
W systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows możliwe wartości parametru Family są zdefiniowane w pliku nagłówka Ws2def.h. Należy pamiętać, że plik nagłówka Ws2def.h jest automatycznie dołączany do pliku Netioapi.h i nigdy nie należy bezpośrednio używać pliku Ws2def.h.
Dla rodziny adresów są obecnie obsługiwane następujące wartości:
AF_INET
Rodzina adresów IPv4. Po określeniu tej wartości funkcja rejestruje sterownik tylko w przypadku powiadomień o zmianie adresu IPv4 emisji pojedynczej.AF_INET6
Rodzina adresów IPv6. Po określeniu tej wartości funkcja rejestruje sterownik tylko w przypadku powiadomień o zmianie adresu IPv6 emisji pojedynczej.AF_UNSPEC
Rodzina adresów nie jest określona. Po określeniu tej wartości funkcja rejestruje sterownik zarówno dla powiadomień o zmianie adresu IPv4 emisji pojedynczej, jak i IPv6.
wywołania zwrotnego [in]
Wskaźnik do funkcji w celu wywołania, gdy nastąpi zmiana. Ta funkcja jest wywoływana po odebraniu powiadomienia o adresie IP emisji pojedynczej.CallerContext [in]
Kontekst użytkownika przekazywany do funkcji wywołania zwrotnego określonego w parametrze wywołania zwrotnego po odebraniu powiadomienia interfejsu.InitialNotification [in]
Wartość wskazująca, czy wywołanie zwrotne powinno być wywoływane natychmiast po zakończeniu rejestracji w celu powiadomienia o zmianie. To początkowe powiadomienie nie oznacza, że nastąpiła zmiana adresu IP emisji pojedynczej. 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
NotifyUnicastIpAddressChange zwraca STATUS_SUCCESS, jeśli funkcja powiedzie się.
Jeśli funkcja nie powiedzie się, NotifyUnicastIpAddressChange 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 rodziny nie był AF_INET, AF_INET6 lub AF_UNSPEC. |
| 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
Sterownik musi ustawić parametr Family na wartość AF_INET, AF_INET6 lub AF_UNSPEC.
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, który jest przekazywany do funkcji NotifyUnicastIpAddressChange podczas rejestrowania sterownika dla powiadomień o zmianie. |
IN PMIB_UNICASTIPADDRESS_ROW Row OPTIONAL |
Wskaźnik do wpisu MIB_UNICASTIPADDRESS_ROW dla zmienionego adresu IP emisji pojedynczej. Ten parametr jest wskaźnikiem null null, gdy wartość MIB_NOTIFICATION_TYPE przekazywana 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 NotifyUnicastIpAddressChange 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. |
Aby wyrejestrować sterownik dla powiadomień o zmianie, wywołaj funkcję CancelMibChangeNotify2, przekazując parametr NotificationHandle, który NotifyUnicastIpAddressChange zwraca.
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 |
Zobacz też
InitializeUnicastIpAddressEntry