Função RtmCreateDestEnum (rtmv2.h)
A função RtmCreateDestEnum inicia uma enumeração dos destinos na tabela de roteamento. Um cliente pode enumerar destinos para uma ou mais exibições ou para todas as exibições.
Sintaxe
DWORD RtmCreateDestEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS NetAddress,
[in] ULONG ProtocolId,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Parâmetros
[in] RtmRegHandle
Manipule para o cliente obtido de uma chamada anterior para RtmRegisterEntity.
[in] TargetViews
Especifica o conjunto de exibições a ser usado ao criar a enumeração. Os sinalizadores a seguir são usados.
[in] EnumFlags
Especifica quais destinos incluir na enumeração. Dois conjuntos de sinalizadores são usados; use um sinalizador de cada conjunto (por exemplo, use RTM_ENUM_ALL_DESTS e RTM_ENUM_START).
[in] NetAddress
Ponteiro para uma estrutura RTM_NET_ADDRESS que contém o endereço inicial da enumeração. Especifique NULL se EnumFlags contiver RTM_ENUM_START.
[in] ProtocolId
Especifica o identificador de protocolo usado para determinar as melhores informações de rota retornadas pela função RtmGetEnumDests . 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.
[out] RtmEnumHandle
Na entrada, RtmEnumHandle é um ponteiro para NULL.
Na saída, RtmEnumHandle recebe um ponteiro para um identificador para a enumeração. Use esse identificador em todas as chamadas subsequentes para RtmGetEnumDests, RtmReleaseDests e RtmDeleteEnumHandle.
Retornar valor
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. |
|
Não há memória suficiente para concluir essa operação. |
|
Não há suporte para uma ou mais das exibições especificadas. |
Comentários
Se EnumFlags contiver RTM_ENUM_RANGE, use NetAddress para especificar o intervalo da tabela de roteamento a ser enumerada. Por exemplo, se um cliente definir NetAddress como 10/8, destinos no intervalo 10.0.0.0/8 a 10.255.255.255/32 serão retornados.
Quando o identificador de enumeração não for mais necessário, libere-o chamando RtmDeleteEnumHandle.
Para obter o código de exemplo que usa essa função, consulte Enumerar Todos os Destinos.
Requisitos
Requisito | Valor |
---|---|
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 |