RtmGetFirstRoute function

[This API has been superseded by the Routing Table Manager Version 2 API and will not be available beyond Windows Server 2003. Applications should use the Routing Table Manager Version 2 API.]

The RtmGetFirstRoute function returns the first route from the specified subset of routes in the table.

Syntax

DWORD RtmGetFirstRoute(
  _In_    DWORD ProtocolFamily,
  _In_    DWORD EnumerationFlags,
  _Inout_ PVOID Route
);

Parameters

ProtocolFamily [in]

Specifies the protocol family of routes to retrieve, for example, IP or IPX.

EnumerationFlags [in]

Specifies the limits the set of deleted routes to a subset defined by these flags and the values in the corresponding members of the structure pointed to by the CriteriaRoute parameter. The flags are the same as those used in RtmCreateEnumerationHandle.

Route [in, out]

On input, Route points to a protocol-family-specific structure ( RTM_IP_ROUTE or RTM_IPX_ROUTE).

The calling function provides member values for this structure. These values, in conjunction with the EnumerationFlags parameter, specify the set from which to return routes.

Out output, Route points to the first route that matched the specified criteria.

Return value

If the function succeeds, the return value is NO_ERROR.

If the function fails, the return value is one of the following error codes.

Value Description
ERROR_INVALID_PARAMETER
One of the parameters is invalid.
ERROR_NO_ROUTES
There are no routes that match the specified criteria.
ERROR_NO_SYSTEM_RESOURCES
There are insufficient resources to carry out the operation.

Remarks

The routes are returned in the following order:

  1. Network number
  2. Routing protocol
  3. Interface identifier
  4. Next-hop address

This function is less efficient than the corresponding enumeration handle function, RtmEnumerateGetNextRoute.

Requirements

Requirement Value
Minimum supported client
None supported
Minimum supported server
Windows 2000 Server [desktop apps only]
End of server support
Windows Server 2003
Header
Rtm.h
Library
Rtm.lib
DLL
Rtm.dll

See also

Routing Table Manager Version 1 Reference

Routing Table Manager Version 1 Functions

RtmCloseEnumerationHandle

RtmCreateEnumerationHandle

RtmEnumerateGetNextRoute

RtmGetNextRoute