Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 del 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
de 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 que se especifica 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 ha producido un cambio en el puerto del 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 posteriormente 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 ejecuta 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 de devolución de llamada de es un puntero NULL. |
STATUS_NOT_ENOUGH_MEMORY | No había memoria suficiente. |
otros | Use la función FormatMessage para obtener la cadena del 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 al NotifyTeredoPortChange función cuando registra el controlador para las notificaciones de cambio. |
IN USHORT Port |
Número de puerto UDP que usa actualmente el cliente teredo. 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 se puede producir si el parámetro InitialNot ification que se pasa a NotifyTeredoPortChange se estableció en TRUE al registrar el controlador para las 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 cualquier vez que se reinicie el cliente teredo en el equipo local. Un controlador puede registrarse para recibir una notificación cuando cambia el puerto del servicio Teredo llamando a la función de 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.
Los controladores de firewall usan principalmente la función de NotifyTeredoPortChange 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ónCancelMibChangeNotify2 y pase el parámetro NotificationHandle que devuelve la función NotifyTeredoPortChange de.
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 |