Solved

Icmp functions in Windows 2000 Pro

Posted on 2010-09-22
2
421 Views
Last Modified: 2012-05-10
Hello Experts!
  I have discovered a incompatibility issue on my software running it on a Windows 2000 Pro.

I have written a code that checks the presence of certain devices on the network with: IcmpCreateFile, IcmpSendEcho and IcmpCloseHandle. My software runs without problem on XP SP2 or higher.

Executing the software on a Windows 2000 Pro SP4 I get entry-point error of IcmpSendEcho on iphlpapi.dll

IPHLPAPI.DLL is present on the W2K system with version 5.0.2195.7097
ICMP.DLL is present on the W2K system with version: 5.0.2134.1

According to MSDN, Icmp functions works on Widnows 2000 Pro using Icmp.dll (http://msdn.microsoft.com/en-us/library/aa366050(VS.85).aspx)

Any suggestion on how to fix this problem and 'why not' a little bit of theory will be appreciate.

Thanks.
0
Comment
Question by:marcodalzotto
2 Comments
 
LVL 86

Accepted Solution

by:
jkr earned 500 total points
ID: 33734411
Well, as the docs on 'IcmpSendEcho()' (http://msdn.microsoft.com/en-us/library/aa366050%28VS.85%29.aspx) state: "Applications requiring portability with this function across Windows 2000, Windows XP, Windows Server 2003 and later Windows versions should not statically link to either the Icmp.lib or the Iphlpapi.lib file. Instead, the application should check for the presence of IcmpSendEcho in the Iphlpapi.dll with calls to LoadLibrary and GetProcAddress. Failing that, the application should check for the presence of IcmpSendEcho in the Icmp.dll with calls to LoadLibrary and GetProcAddress. "
0
 
LVL 5

Author Comment

by:marcodalzotto
ID: 33767648
Thanks, well read! :)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now