Partilhar via


Função NotifyTeredoPortChange

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.

Requerimentos

Plataforma de destino

Universal

Versão

Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.

Cabeçalho

Netioapi.h (inclui Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Ver também

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable