Suchen nach der besten Route
Der folgende Beispielcode zeigt, wie Sie die Routingtabelle nach der besten Route durchsuchen.
// 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