Compartilhar via


Função RtmGetLessSpecificDestination (rtmv2.h)

A função RtmGetLessSpecificDestination pesquisa a tabela de roteamento para um destino com o prefixo next-best-match (longest), dado um prefixo de destino. As informações de destino solicitadas são retornadas.

Sintaxe

DWORD RtmGetLessSpecificDestination(
  [in]  RTM_ENTITY_HANDLE RtmRegHandle,
  [in]  RTM_DEST_HANDLE   DestHandle,
  [in]  ULONG             ProtocolId,
  [in]  RTM_VIEW_SET      TargetViews,
  [out] PRTM_DEST_INFO    DestInfo
);

Parâmetros

[in] RtmRegHandle

Manipule para o cliente obtido de uma chamada anterior para RtmRegisterEntity.

[in] DestHandle

Manipule para o destino.

[in] ProtocolId

Especifica o identificador de protocolo. O ProtocolID não faz parte dos critérios de pesquisa. O gerenciador de tabelas de roteamento usa esse identificador para determinar quais informações de rota devem ser retornadas. Por exemplo, se um cliente especificar o identificador de protocolo RIP, a melhor rota RIP será retornada, mesmo que uma rota não RIP seja a melhor rota para o destino.

Especifique RTM_BEST_PROTOCOL para retornar uma rota, independentemente de qual protocolo a possui. Especifique RTM_THIS_PROTOCOL para retornar a melhor rota para o protocolo de chamada.

[in] TargetViews

Especifica as exibições das quais retornar informações. Se o cliente especificar RTM_VIEW_MASK_ANY, as informações de destino serão retornadas de todas as exibições; no entanto, nenhuma informação específica da exibição é retornada.

[out] DestInfo

Na entrada, DestInfo é um ponteiro para uma estrutura RTM_DEST_INFO .

Na saída, DestInfo é preenchido com as informações de destino solicitadas.

Valor retornado

Se a função for bem-sucedida, o valor retornado será NO_ERROR.

Se a função falhar, o valor retornado será um dos seguintes códigos de erro.

Valor Significado
ERROR_INVALID_PARAMETER
Um parâmetro contém informações incorretas.
ERROR_NOT_FOUND
O próximo melhor destino não pode ser encontrado.
 
 

Comentários

O parâmetro DestInfo é uma estrutura de RTM_DEST_INFO de tamanho variável. Se o cliente especificar mais de uma exibição usando TargetViews, o tamanho de DestInfo aumentará para cada exibição. Use a macro RTM_SIZE_OF_DEST_INFO para determinar quanta memória alocar para a estrutura DestInfo antes de chamar essa função. Use o valor especificado para TargetViews como um parâmetro para RTM_SIZE_OF_DEST_INFO.

A função RtmGetLessSpecificDestination é usada após uma chamada para RtmGetMostSpecificDestination para retornar a próxima melhor correspondência para um destino. Essa chamada também é usada após uma chamada anterior para RtmGetLessSpecificDestination para retornar a próxima correspondência sucessiva menos específica. Os clientes podem usar essa função para "subir" a árvore de prefixo de um destino.

Essa chamada também é usada após chamadas para funções que retornam uma estrutura RTM_DEST_INFO , como RtmGetDestInfo e RtmGetChangedDests.

A função RtmGetLessSpecificDestination retorna correspondências até atingir a rota padrão, se ela existir. Depois que a rota padrão for encontrada, RtmGetLessSpecificDestination retornará ERROR_NOT_FOUND.

Um uso comum para as funções RtmGetLessSpecificDestination e RtmGetMostSpecificDestination é recuperar cada um dos destinos correspondentes.

Para obter o código de exemplo que usa essa função, consulte Pesquisar rotas usando uma árvore de prefixo.

Requisitos

   
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho rtmv2.h
Biblioteca Rtm.lib
DLL Rtm.dll

Confira também

RTM_DEST_INFO

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetMostSpecificDestination

RtmIsBestRoute