I had a similar problem once - I had to call a Windows 2000 machine but I was developing on NT. The solution (in pseudocode) was something like this: if(IsOs2000()) { Explicitly load the system DLL that has the function using LoadLibrary Get the function poitner using GetProcAddress Call the function Unload the DLL if necessary } Just a thought. Ugly, I know, but it might work in your situation. Even if you win the rat race, you're still a rat.