Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione RtmCreateRouteEnum crea un'enumerazione delle route per una determinata destinazione o intervallo di destinazioni nella tabella di routing. Un client può enumerare le route per una o più visualizzazioni o per tutte le visualizzazioni.
Sintassi
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
);
Parametri
[in] RtmRegHandle
Gestire il client ottenuto da una chiamata precedente a RtmRegisterEntity.
[in] DestHandle
Gestire la destinazione per cui enumerare le route. Questo parametro è facoltativo e può essere impostato su NULL; specificando NULL enumera tutte le route per tutte le destinazioni. Specificare NULL se EnumFlags contiene RTM_ENUM_START.
[in] TargetViews
Specifica il set di visualizzazioni da usare durante la creazione dell'enumerazione. Vengono usati i flag seguenti.
[in] EnumFlags
Specifica le route da includere nell'enumerazione. Vengono usati due set di flag; usare un flag da ogni set, ad esempio RTM_ENUM_ALL_ROUTES e RTM_ENUM_START.
| Costante | Significato |
|---|---|
|
Restituisce tutte le route. |
|
Restituisce solo le route proprietarie del client. |
[in] StartDest
Puntatore a una struttura RTM_NET_ADDRESS contenente l'indirizzo iniziale dell'enumerazione. Questo parametro viene ignorato se EnumFlags contiene RTM_ENUM_START.
[in] MatchingFlags
Specifica gli elementi della route da trovare. Vengono restituite solo route che corrispondono ai criteri specificati in CriteriaRoute e CriteriaInterface , a meno che non sia stato specificato in altro modo. Vengono usati i flag seguenti.
[in] CriteriaRoute
Specifica le route da enumerare. Questo parametro è facoltativo e può essere impostato su NULL se MatchingFlags contiene RTM_MATCH_INTERFACE o RTM_MATCH_NONE.
[in] CriteriaInterface
Puntatore a un ULONG che specifica su quali interfacce devono trovarsi le route. Questo parametro viene ignorato a meno che matchingFlags non contenga RTM_MATCH_INTERFACE.
[out] RtmEnumHandle
In input , RtmEnumHandle è un puntatore a NULL.
Nell'output , RtmEnumHandle riceve un puntatore a un handle per l'enumerazione. Usare questo handle in tutte le chiamate successive a RtmGetEnumRoutes, RtmReleaseRoutes e RtmDeleteEnumHandle.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è NO_ERROR.
Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.
| Valore | Significato |
|---|---|
|
Un parametro contiene informazioni non corrette. |
|
Memoria insufficiente per completare questa operazione. |
|
Una o più visualizzazioni specificate non sono supportate. |
Commenti
Se EnumFlags contiene RTM_ENUM_RANGE, usare NetAddress per specificare l'intervallo della tabella di routing per enumerare. Ad esempio, se un client imposta NetAddress su 10/8, le destinazioni nell'intervallo 10.0.0.0/8 su 10.255.255.255/32 vengono restituite.
Quando l'handle di enumerazione non è più necessario, rilasciarlo chiamando RtmDeleteEnumHandle.
Per il codice di esempio che usa questa funzione, vedere Enumerare tutte le route.
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Nessuno supportato |
| Server minimo supportato | Windows 2000 Server [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | rtmv2.h |
| Libreria | Rtm.lib |
| DLL | Rtm.dll |