Compartir a través de


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

Consulte también

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable