Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione NotifyUnicastIpAddressChange registra il driver per ricevere una notifica per le modifiche a tutte le interfacce IP unicast, gli indirizzi IPv4 unicast o gli indirizzi IPv6 unicast in un computer locale.
Sintassi
NETIOAPI_API NotifyUnicastIpAddressChange(
_In_ ADDRESS_FAMILY Family,
_In_ PUNICAST_IPADDRESS_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE *NotificationHandle
);
Parametri
famiglia [in]
Famiglia di indirizzi in cui registrare il driver per le notifiche di modifica.I valori possibili per la famiglia di indirizzi sono elencati nel file di intestazione Winsock2.h. Si noti che i valori per la famiglia di indirizzi AF_ e le costanti della famiglia di protocolli di PF_ sono identiche (ad esempio, AF_INET e PF_INET), in modo da poter usare una delle costanti.
In Windows Vista e versioni successive dei sistemi operativi Windows, i valori possibili per il parametro Family sono definiti nel file di intestazione Ws2def.h. Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Netioapi.h e non usare mai Ws2def.h direttamente.
Per la famiglia di indirizzi sono attualmente supportati i valori seguenti:
AF_INET
Famiglia di indirizzi IPv4. Quando questo valore viene specificato, la funzione registra il driver solo per le notifiche di modifica dell'indirizzo IPv4 unicast.AF_INET6
Famiglia di indirizzi IPv6. Quando questo valore viene specificato, la funzione registra il driver solo per le notifiche di modifica degli indirizzi IPv6 unicast.AF_UNSPEC
La famiglia di indirizzi non è specificata. Quando questo valore viene specificato, la funzione registra il driver per le notifiche di modifica degli indirizzi IPv4 e IPv6 unicast.
callback [in]
Puntatore alla funzione da chiamare quando si verifica una modifica. Questa funzione viene chiamata quando viene ricevuta una notifica di indirizzo IP unicast.CallerContext [in]
Contesto utente passato alla funzione di callback specificata nel parametro Callback quando viene ricevuta una notifica dell'interfaccia.InitialNotification [in]
Valore che indica se il callback deve essere chiamato immediatamente dopo il completamento della registrazione per la notifica delle modifiche. Questa notifica iniziale non indica che si è verificata una modifica a un indirizzo IP unicast. Questo parametro fornisce la conferma che il callback è registrato.NotificationHandle [in, out]
Puntatore usato per restituire un handle che il driver può usare in un secondo momento per annullare la registrazione della notifica di modifica del driver. In caso di esito positivo, in questo parametro viene restituito un handle di notifica. Se si verifica un errore, viene restituito NULL.
Valore restituito
NotifyUnicastIpAddressChange restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione non riesce, NotifyUnicastIpAddressChange restituisce uno dei codici di errore seguenti:
| Codice restituito | Descrizione |
|---|---|
| ERROR_INVALID_HANDLE | Si è verificato un errore interno in cui è stato rilevato un handle non valido. |
| STATUS_INVALID_PARAMETER | Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se il parametro famiglia di non è stato AF_INET, AF_INET6 o AF_UNSPEC. |
| STATUS_NOT_ENOUGH_MEMORY | Memoria insufficiente. |
| Altro | Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Osservazioni
Il driver deve impostare il parametro family su AF_INET, AF_INET6 o AF_UNSPEC.
La chiamata della funzione di callback specificata nel parametro callback viene serializzata. La funzione di callback deve essere definita come funzione di tipo VOID. I parametri passati alla funzione di callback includono quanto segue.
| Parametro | Descrizione |
|---|---|
IN PVOID CallerContext |
Il parametro CallerContext passato alla funzione NotifyUnicastIpAddressChange quando registra il driver per le notifiche di modifica. |
IN PMIB_UNICASTIPADDRESS_ROW Row OPTIONAL |
Puntatore alla voce MIB_UNICASTIPADDRESS_ROW per l'indirizzo IP unicast modificato. Questo parametro è un puntatore NULL quando il valore MIB_NOTIFICATION_TYPE passato nel parametro NotificationType alla funzione di callback viene impostato su MibInitialNotification. Questa situazione può verificarsi solo se il parametro InitialNotification passato a NotifyUnicastIpAddressChange è stato impostato su TRUE durante la registrazione del driver per le notifiche di modifica. |
IN MIB_NOTIFICATION_TYPE NotificationType |
Tipo di notifica. Questo membro può essere uno dei valori del tipo di enumerazione MIB_NOTIFICATION_TYPE. |
Per annullare la registrazione del driver per le notifiche di modifica, chiamare la funzione CancelMibChangeNotify2, passando il parametro NotificationHandle restituito NotifyUnicastIpAddressChange.
Fabbisogno
Piattaforma di destinazione |
universale |
Versione |
Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Intestazione |
Netioapi.h (include Netioapi.h) |
Biblioteca |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |
Vedere anche
InitializeUnicastIpAddressEntry