Search For the Best Route
The following sample code shows how to search the routing table for the best route.
// Search for a best matching route to a network
// given (address,mask) for this destination network
// First get the best matching destination
RTM_IPV4_SET_ADDR_AND_MASK(NetAddress, Addr, Mask);
Status = RtmGetMostSpecificDestination(RtmRegHandle,
&NetAddress,
RTM_BEST_PROTOCOL, // Determines which route information is returned.
RTM_VIEW_MASK_UCAST, // Give the information for the best unicast route
DestInfo);
if (Status == NO_ERROR)
{
ASSERT(DestInfo->ViewInfo[0].ViewId == RTM_VIEW_ID_UCAST);
// Get the best unicast route for the destination
NewBestRoute = DestInfo.ViewInfo[0].Route;
// Call RtmGetRouteInfo using the handle for information
//...
// Release information from RtmGetMostSpecificDestination
RtmReleaseDestInfo(RtmRegHandle, DestInfo);
}
// To search for an exact match, use RtmGetExactMatchDestionation
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for