Thanks to everyone for the testing and feedback.
In a slight change of plans, today I'm releasing Iphlpapi4 (Post #1
and Below) and updated
stubs.ini definitions (Below). Iphlpapi wrapperUsage with Kexstubs:
* Put iphlpapi4.dll in your Windows\KernelEx folder and activate the individual functions in Kstub822.ini:
GetPerAdapterInfo=>iphlpapi4:Usage without Kexstubs (or without KernelEx):
* Put a copy renamed to iphlpapi.dll in the folder with any app that needs it.
* Disable KnownDLLs redirection for Iphlpapi.dll by deleting this key in the registry: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\KnownDLLs\IPHLPAPI History:
Iphlpapi3 implemented GetAdaptersAddresses with information from GetAdapterInfo. Also stubs for GetPerAdapterInfo, GetTcpTable2.
Iphlpapi4 implements GetAdaptersAddresses with information from GetIfTable. This adds the Loopback interface to the results as well as real MTU, OperStatus, and link speeds. But lost is DhcpEnabled status (and potentially Gateway and DNS details that I hadn't implemented yet). Stubs for CancelIPChangeNotify, EnableRouter, FlushIpNetTable, GetBestInterfaceEx, GetExtendedTcpTable, GetExtendedUdpTable, GetIpStatisticsEx, GetPerAdapterInfo, GetTcpStatisticsEx, GetTcpTable2, GetUdpStatisticsEx, UnenableRouter.
Iphlpapi5 is to be the best of 3+4 and more. But I've been finding lots of errors in MS and third-party documentation and sample code, so I need empirical data to clarify how things should actually work. I will be converting a number of console test apps (based on MSDN samples) into one Win32 app that can be run on any 32-bit Windows platform. Results from dual-boot and VM systems should provide the needed clarity!
Edit: removed ActCtx / Active Context and Msvcr* definitionsEdit2: struck
Kex from stubs.ini
Edited by jumper, 04 February 2013 - 04:04 PM.