Función RtmCreateRouteEnum (rtmv2.h)
La función RtmCreateRouteEnum crea una enumeración de las rutas para un destino determinado o intervalo de destinos en la tabla de enrutamiento. Un cliente puede enumerar rutas para una o varias vistas, o para todas las vistas.
Sintaxis
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 el cliente obtenido de una llamada anterior a RtmRegisterEntity.
[in] DestHandle
Controle el destino para el que se van a enumerar las rutas. Este parámetro es opcional y se puede establecer en NULL; al especificar NULL se enumeran todas las rutas de todos los destinos. Especifique NULL si EnumFlags contiene RTM_ENUM_START.
[in] TargetViews
Especifica el conjunto de vistas que se van a usar al crear la enumeración. Se usan las marcas siguientes.
[in] EnumFlags
Especifica las rutas que se van a incluir en la enumeración. Se usan dos conjuntos de marcas; use una marca de cada conjunto (como RTM_ENUM_ALL_ROUTES y RTM_ENUM_START).
Constante | Significado |
---|---|
|
Devuelve todas las rutas. |
|
Devuelve solo las rutas que posee el cliente. |
[in] StartDest
Puntero a una estructura de RTM_NET_ADDRESS que contiene la dirección inicial de la enumeración. Este parámetro se omite si EnumFlags contiene RTM_ENUM_START.
[in] MatchingFlags
Especifica los elementos de la ruta que se van a buscar coincidencias. Solo se devuelven las rutas que coinciden con los criterios especificados en CriteriaRoute y CriteriaInterface , a menos que se indique lo contrario. Se usan las marcas siguientes.
[in] CriteriaRoute
Especifica las rutas que se van a enumerar. Este parámetro es opcional y se puede establecer en NULL si MatchingFlags contiene RTM_MATCH_INTERFACE o RTM_MATCH_NONE.
[in] CriteriaInterface
Puntero a un ULONG que especifica en qué interfaces deben ubicarse las rutas. Este parámetro se omite a menos que MatchingFlags contenga RTM_MATCH_INTERFACE.
[out] RtmEnumHandle
En la entrada, RtmEnumHandle es un puntero a NULL.
En la salida, RtmEnumHandle recibe un puntero a un identificador de la enumeración. Use este identificador en todas las llamadas posteriores a RtmGetEnumRoutes, RtmReleaseRoutes y RtmDeleteEnumHandle.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es NO_ERROR.
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Valor | Significado |
---|---|
|
Un parámetro contiene información incorrecta. |
|
No hay suficiente memoria para completar esta operación. |
|
No se admite una o varias de las vistas especificadas. |
Comentarios
Si EnumFlags contiene RTM_ENUM_RANGE, use NetAddress para especificar el intervalo de la tabla de enrutamiento que se va a enumerar. Por ejemplo, si un cliente establece NetAddress en 10/8, se devuelven destinos del intervalo 10.0.0.0/8 a 10.255.255.255/32.
Cuando el identificador de enumeración ya no sea necesario, ábralo llamando a RtmDeleteEnumHandle.
Para obtener código de ejemplo con esta función, vea Enumerar todas las rutas.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | rtmv2.h |
Library | Rtm.lib |
Archivo DLL | Rtm.dll |