Función NotifyTeredoPortChange
La función NotifyTeredoPortChange registra el controlador para recibir una notificación de los cambios en el número de puerto UDP que el cliente teredo usa para el puerto de servicio teredo en un equipo local.
Sintaxis
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Parámetros
Devolución de llamada [in]
Puntero a la función que se va a llamar cuando se produce un cambio de puerto de cliente teredo. Se llama a esta función cuando se recibe una notificación de cambio de puerto teredo.CallerContext [in]
Contexto de usuario que se pasa a la función de devolución de llamada especificada en el parámetro Callback cuando se recibe una notificación de cambio de puerto teredo.InitialNotification [in]
Valor que indica si se debe llamar a la devolución de llamada inmediatamente después de que se complete el registro de la notificación de cambio de controlador. Esta notificación inicial no indica que se produjo un cambio en el puerto de cliente teredo. Este parámetro proporciona confirmación de que la devolución de llamada está registrada.NotificationHandle [in, out]
Puntero que se usa para devolver un identificador que el controlador puede usar más adelante para anular el registro de la notificación de cambio del controlador. Si se ejecuta correctamente, se devuelve un identificador de notificación en este parámetro. Si se produce un error, se devuelve NULL .
Valor devuelto
NotifyTeredoPortChange devuelve STATUS_SUCCESS si la función se realiza correctamente.
Si se produce un error en la función, NotifyTeredoPortChange devuelve uno de los siguientes códigos de error:
Código devuelto | Descripción |
---|---|
ERROR_INVALID_HANDLE | Error interno en el que se encontró un identificador no válido. |
STATUS_INVALID_PARAMETER | Se pasó un parámetro no válido a la función. Este error se devuelve si el parámetro Callback es un puntero NULL . |
STATUS_NOT_ENOUGH_MEMORY | No había memoria suficiente. |
Otros | Use la función FormatMessage para obtener la cadena de mensaje para el error devuelto. |
Observaciones
La invocación de la función de devolución de llamada especificada en el parámetro Callback se serializa. La función de devolución de llamada debe definirse como una función de tipo VOID. Los parámetros que se pasan a la función de devolución de llamada incluyen lo siguiente.
Parámetro | Descripción |
---|---|
IN PVOID CallerContext |
El parámetro CallerContext que se pasa a la función NotifyTeredoPortChange cuando registra el controlador para las notificaciones de cambio. |
PUERTO DE USHORT |
Número de puerto UDP que el cliente teredo usa actualmente. Este parámetro es cero cuando el valor de MIB_NOTIFICATION_TYPE que se pasa en el parámetro NotificationType a la función de devolución de llamada se establece en MibInitialNotification. Esta situación solo puede producirse si el parámetro InitialNotification que se pasa a NotifyTeredoPortChange se estableció en TRUE al registrar el controlador para recibir notificaciones de cambio. |
IN MIB_NOTIFICATION_TYPE NotificationType |
Tipo de notificación. Este miembro puede ser uno de los valores del tipo de enumeración MIB_NOTIFICATION_TYPE . |
El controlador puede usar la función GetTeredoPort para recuperar el número de puerto UDP inicial que el cliente teredo usó para el puerto del servicio Teredo.
El puerto teredo es dinámico y puede cambiar en cualquier momento en que se reinicie el cliente teredo en el equipo local. Un controlador puede registrarse para recibir una notificación cuando cambie el puerto del servicio Teredo llamando a la función NotifyTeredoPortChange .
El cliente teredo también usa el puerto UDP estático 3544 para escuchar el tráfico de multidifusión que se envía en la dirección IPv4 de multidifusión 224.0.0.253 tal como se define en RFC 4380. Para obtener más información, vea Teredo: Tunelización de IPv6 a través de traducciones de direcciones de red (NAT) de UDPthrough.
La función NotifyTeredoPortChange se usa principalmente por los controladores de firewall para configurar las excepciones adecuadas para habilitar el tráfico Teredo entrante y saliente.
Para anular el registro del controlador para las notificaciones de cambio, llame a la función CancelMibChangeNotify2 y pase el parámetro NotificationHandle que devuelve la función NotifyTeredoPortChange .
Requisitos
Plataforma de destino |
Universal |
Versión |
Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows. |
Encabezado |
Netioapi.h (incluya Netioapi.h) |
Biblioteca |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |