Função NotifyTeredoPortChange
A função NotifyTeredoPortChange registra o driver a ser notificado quanto a alterações no número da porta UDP que o cliente Teredo usa para a porta de serviço Teredo em um computador local.
Sintaxe
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Parâmetros
Retorno de chamada [in]
Um ponteiro para a função a ser chamada quando ocorre uma alteração de porta do cliente Teredo. Essa função é chamada quando uma notificação de alteração de porta teredo é recebida.CallerContext [in]
Um contexto de usuário que é passado para a função de retorno de chamada especificada no parâmetro Callback quando uma notificação de alteração de porta Teredo é recebida.InitialNotification [in]
Um valor que indica se o retorno de chamada deve ser chamado imediatamente após a conclusão do registro da notificação de alteração do driver. Essa notificação inicial não indica que ocorreu uma alteração na porta do cliente Teredo. Esse parâmetro fornece a confirmação de que o retorno de chamada está registrado.NotificationHandle [in, out]
Um ponteiro usado para retornar um identificador que o driver pode usar posteriormente para cancelar o registro da notificação de alteração do driver. Em caso de êxito, um identificador de notificação é retornado nesse parâmetro. Se ocorrer um erro, NULL será retornado.
Valor retornado
NotifyTeredoPortChange retornará STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, NotifyTeredoPortChange retornará um dos seguintes códigos de erro:
Código de retorno | Descrição |
---|---|
ERROR_INVALID_HANDLE | Ocorreu um erro interno em que um identificador inválido foi encontrado. |
STATUS_INVALID_PARAMETER | Um parâmetro inválido foi passado para a função. Esse erro será retornado se o parâmetro Callback for um ponteiro NULL . |
STATUS_NOT_ENOUGH_MEMORY | Não havia memória suficiente. |
Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A invocação da função de retorno de chamada especificada no parâmetro Callback é serializada. A função de retorno de chamada deve ser definida como uma função do tipo VOID. Os parâmetros que são passados para a função de retorno de chamada incluem o seguinte.
Parâmetro | Descrição |
---|---|
IN PVOID CallerContext |
O parâmetro CallerContext que é passado para a função NotifyTeredoPortChange quando ele está registrando o driver para notificações de alteração. |
Na porta USHORT |
O número da porta UDP que o cliente Teredo usa atualmente. Esse parâmetro é zero quando o valor MIB_NOTIFICATION_TYPE passado no parâmetro NotificationType para a função de retorno de chamada é definido como MibInitialNotification. Essa situação só poderá ocorrer se o parâmetro InitialNotification passado para NotifyTeredoPortChange tiver sido definido como TRUE ao registrar o driver para notificações de alteração. |
IN MIB_NOTIFICATION_TYPE NotificationType |
O tipo de notificação. Esse membro pode ser um dos valores do tipo de enumeração MIB_NOTIFICATION_TYPE . |
O driver pode usar a função GetTeredoPort para recuperar o número da porta UDP inicial que o cliente Teredo usou para a porta de serviço teredo.
A porta Teredo é dinâmica e pode mudar a qualquer momento em que o cliente Teredo é reiniciado no computador local. Um driver pode se registrar para ser notificado quando a porta do serviço Teredo for alterada chamando a função NotifyTeredoPortChange .
O cliente Teredo também usa a porta UDP estática 3544 para escutar o tráfego multicast enviado no endereço IPv4 multicast 224.0.0.253, conforme definido no RFC 4380. Para obter mais informações, consulte Teredo: Tunneling IPv6 over UDPthrough Network Address Translations (NATs).
A função NotifyTeredoPortChange é usada principalmente por drivers de firewall para configurar as exceções apropriadas para habilitar o tráfego Teredo de entrada e saída.
Para cancelar o registro do driver para notificações de alteração, chame a função CancelMibChangeNotify2 , passando o parâmetro NotificationHandle retornado pela função NotifyTeredoPortChange .
Requisitos
Plataforma de destino |
Universal |
Versão |
Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho |
Netioapi.h (inclua Netioapi.h) |
Biblioteca |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |