Compartilhar via


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

Confira também

CancelMibChangeNotify2

GetTeredoPort

NotifyStableUnicastIpAddressTable