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 NotifyRouteChange2 registra il driver per ricevere una notifica per le modifiche alle voci di route IP in un computer locale.
Sintassi
NETIOAPI_API NotifyRouteChange2(
_In_ ADDRESS_FAMILY Family,
_In_ PIPFORWARD_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, questa funzione registra il driver solo per le notifiche di modifica della route IPv4.AF_INET6
Famiglia di indirizzi IPv6. Quando questo valore viene specificato, questa funzione registra il driver solo per le notifiche di modifica della route IPv6.AF_UNSPEC
La famiglia di indirizzi non è specificata. Quando questo valore viene specificato, questa funzione registra il driver per le notifiche di modifica della route IPv4 e IPv6.
callback [in]
Puntatore alla funzione da chiamare quando si verifica una modifica. Questa funzione viene chiamata quando viene ricevuta una notifica dell'interfaccia.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 richiamato immediatamente dopo il completamento della registrazione per la notifica delle modifiche. Questa notifica iniziale non indica che si è verificata una modifica alla route IP. Scopo di questo parametro per fornire la conferma della registrazione del callback.NotificationHandle [in, out]
Puntatore a una struttura MIB_IPINTERFACE_ROW da inizializzare. In caso di esito positivo, i membri di questa struttura vengono inizializzati con le informazioni predefinite per un'interfaccia nel computer locale.
Valore restituito
notifyRouteChange2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione non riesce, NotifyRouteChange2 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 NotifyRouteChange2 quando registra il driver per le notifiche di modifica. |
IN PMIB_IPFORWARD_ROW2 Row OPTIONAL |
Puntatore alla voce MIB_IPFORWARD_ROW2 per la voce di route IP modificata. Questo parametro è un puntatore NULL quando il valore MIB_NOTIFICATION_TYPE passato nel parametro NotificationType alla funzione di callback è impostato su MibInitialNotification. Questa situazione può verificarsi solo se il parametro InitialNotification passato a NotifyRouteChange2 è 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 NotifyRouteChange2.
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 |