Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A função NotifyTeredoPortChange registra o driver a ser notificado para 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
Callback [in]
Um ponteiro para a função a ser chamada quando ocorre uma alteração na porta do cliente Teredo. Esta função é chamada quando uma notificação de alteração de porta Teredo é recebida.CallerContext [em]
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 para notificação de alteração de driver. Esta notificação inicial não indica que ocorreu uma alteração na porta do cliente Teredo. Este parâmetro fornece a confirmação de que o retorno de chamada está registrado.NotificationHandle [entrada, saída]
Um ponteiro que é usado para retornar uma alça que o driver pode usar posteriormente para cancelar o registro da notificação de alteração de driver. Quando for bem-sucedido, um identificador de notificação é retornado nesse parâmetro. Se ocorrer um erro, NULL será retornado.
Valor de retorno
NotifyTeredoPortChange retorna 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 onde foi encontrado um identificador inválido. |
| STATUS_INVALID_PARAMETER | Um parâmetro inválido foi passado para a função. Este erro é retornado se o parâmetro Callback for um ponteiro NULL pointer. |
| 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 |
|---|---|
EM PVOID CallerContext |
O CallerContext parâmetro que é passado para o função de NotifyTeredoPortChange quando ele está registrando o driver para notificações de alteração. |
EM USHORT Port |
O número da porta UDP que o cliente Teredo usa atualmente. Esse parâmetro é zero quando o valor MIB_NOTIFICATION_TYPE que é passado no parâmetro NotificationType para a função de retorno de chamada é definido como MibInitialNotification. Essa situação pode ocorrer somente se o parâmetro InitialNotification que é passado para NotifyTeredoPortChange foi 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. |
Seu driver pode usar a função GetTeredoPort para recuperar o número de porta UDP inicial que o cliente Teredo usou para a porta de serviço Teredo.
A porta Teredo é dinâmica e pode ser alterada sempre que o cliente Teredo for reiniciado no computador local. Um driver pode se registrar para ser notificado quando a porta de serviço Teredo for alterada chamando a função NotifyTeredoPortChange.
O cliente Teredo também usa a porta UDP estática 3544 para ouvir o tráfego de multicast que é enviado no endereço IPv4 multicast 224.0.0.253, conforme definido na 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çãoCancelMibChangeNotify2, passando o parâmetro NotificationHandle que a função NotifyTeredoPortChange retorna.