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 NotifyTeredoPortChange registra il driver per ricevere una notifica per le modifiche apportate al numero di porta UDP utilizzato dal client Teredo per la porta del servizio Teredo in un computer locale.
Sintassi
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Parametri
callback [in]
Puntatore alla funzione da chiamare quando si verifica una modifica della porta client Teredo. Questa funzione viene chiamata quando viene ricevuta una notifica di modifica della porta Teredo.CallerContext [in]
Contesto utente passato alla funzione di callback specificata nel parametro Callback quando viene ricevuta una notifica di modifica della porta Teredo.InitialNotification [in]
Valore che indica se il callback deve essere chiamato immediatamente dopo il completamento della registrazione per la notifica di modifica del driver. Questa notifica iniziale non indica che si è verificata una modifica alla porta client Teredo. 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
notifyTeredoPortChange restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione non riesce, NotifyTeredoPortChange 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 callback è un puntatore NULL. |
| STATUS_NOT_ENOUGH_MEMORY | Memoria insufficiente. |
| Altro | Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Osservazioni
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 NotifyTeredoPortChange quando registra il driver per le notifiche di modifica. |
IN USHORT Port |
Numero di porta UDP attualmente utilizzato dal client Teredo. Questo parametro è zero 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 InitialNot ification passato a NotifyTeredoPortChange è 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. |
Il driver può usare la funzioneGetTeredoPortper recuperare il numero di porta UDP iniziale usato dal client Teredo per la porta del servizio Teredo.
La porta Teredo è dinamica e può cambiare ogni volta che il client Teredo viene riavviato nel computer locale. Un driver può registrarsi per ricevere una notifica quando la porta del servizio Teredo cambia chiamando la funzione NotifyTeredoPortChange.
Il client Teredo usa anche la porta UDP statica 3544 per l'ascolto del traffico multicast inviato sull'indirizzo IPv4 multicast 224.0.0.253 come definito in RFC 4380. Per altre informazioni, vedere Teredo: Tunneling IPv6 over UDPthrough Network Address Translations (NAT).
La funzione di NotifyTeredoPortChange viene usata principalmente dai driver del firewall per configurare le eccezioni appropriate per abilitare il traffico Teredo in ingresso e in uscita.
Per annullare la registrazione del driver per le notifiche di modifica, chiamare la funzione di CancelMibChangeNotify2 passando il parametro NotificationHandle restituito dalla funzione NotifyTeredoPortChange.
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 |