Je tente de réécrire du code de service Web C# qui utilise l'appel de l'API d'assistance IP Windows "SendARP" pour récupérer l'adresse MAC d'un système distant. SendARP fonctionne parfaitement - jusqu'à ce que vous traversiez un segment de réseau car les requêtes Arp ne sont pas routées. J'ai regardé la documentation "ParseNetworkString" après avoir traversé son existence sur StackOverflow. L'algorithme sale & rapide, j'ai à l'esprit est:Besoin d'aide pour utiliser l'API Windows IP Helper & ParseNetworString en C#
public static string GetMacAddress(string strHostOrIP)
{
if (strHostOrIP is IPAddress)
{
parse results of nbstat -A strHostOrIP
return macAddress
}
if (strHostOrIP is Hostname)
{
IPHostEntry hostEntry = null;
try
{
hostEntry = Dns.GetHostEntry(strHostOrIP);
}
catch
{
return null;
}
if (hostEntry.AddressList.Length == 0)
{
return null;
}
foreach (IPAddress ip in hostEntry.AddressList)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
ipAddress = ip;
break;
}
}
}
return GetMACAddress(ipAddress);
}
« ParseNetworkString » est nouveau avec Vista/Win2008 donc je ne l'ai pas été en mesure de trouver par exemple du code C# démontrant son utilisation et je m pas C++ codeur donc si quelqu'un peut me diriger dans la bonne direction ...