Função RtmCreateRouteEnum (rtmv2.h)
A função RtmCreateRouteEnum cria uma enumeração das rotas para um determinado destino ou intervalo de destinos na tabela de roteamento. Um cliente pode enumerar rotas para uma ou mais exibições ou para todos os modos de exibição.
Sintaxe
DWORD RtmCreateRouteEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_DEST_HANDLE DestHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS StartDest,
[in] RTM_MATCH_FLAGS MatchingFlags,
[in] PRTM_ROUTE_INFO CriteriaRoute,
[in] ULONG CriteriaInterface,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Parâmetros
[in] RtmRegHandle
Identificador para o cliente obtido de uma chamada anterior para RtmRegisterEntity.
[in] DestHandle
Manipule para o destino para o qual enumerar rotas. Esse parâmetro é opcional e pode ser definido como NULL; especificar NULL enumera todas as rotas para todos os destinos. Especifique NULL se EnumFlags contiver RTM_ENUM_START.
[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 rotas incluir na enumeração . Dois conjuntos de sinalizadores são usados; use um sinalizador de cada conjunto (como RTM_ENUM_ALL_ROUTES e RTM_ENUM_START).
Constante | Significado |
---|---|
|
Retornar todas as rotas. |
|
Retornar somente as rotas que o cliente possui. |
[in] StartDest
Ponteiro para uma estrutura RTM_NET_ADDRESS que contém o endereço inicial da enumeração. Esse parâmetro será ignorado se EnumFlags contiver RTM_ENUM_START.
[in] MatchingFlags
Especifica os elementos da rota a serem correspondidos. Somente as rotas que correspondem aos critérios especificados em CriteriaRoute e CriteriaInterface são retornadas, a menos que indicado de outra forma. Os sinalizadores a seguir são usados.
[in] CriteriaRoute
Especifica quais rotas enumerar. Esse parâmetro é opcional e pode ser definido como NULL se MatchingFlags contiver RTM_MATCH_INTERFACE ou RTM_MATCH_NONE.
[in] CriteriaInterface
Ponteiro para um ULONG que especifica em quais interfaces as rotas devem estar localizadas. Esse parâmetro é ignorado, a menos que MatchingFlags contenha RTM_MATCH_INTERFACE.
[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 RtmGetEnumRoutes, RtmReleaseRoutes 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 códigos de erro a seguir.
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, os destinos no intervalo de 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 Todas as Rotas.
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 |