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 |
---|---|
|
Um parâmetro contém informações incorretas. |
|
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 |