I just downloaded the 64-bit version demo from the website, installed it, and I’m starting to write up some code. I’ve been able to get the code to compile (by linking to ndisapi.lib, etc) and run (placing the ndisapi.dll in the right place so it’s loaded).. but after making a call:
HANDLE hDriver;
hDriver = OpenFilterDriver();
BOOL loaded = IsDriverLoaded(hDriver);
… the variable loaded is false. Calls to GetTcpipBoundAdaptersInfo(…) return FALSE. It seems my program is not communicating with the WinPkFilter driver. The precompiled demo programs (ListAdapters, etc) in the “bin” directory of winpkfilter run correctly and can list adapters and capture packets, so I’m not sure why my code isn’t working.
Also, for what it’s worth, I was unable to use the C++ wrapper class CNdisApi with Microsoft Visual Studio 2005 (C++)…. during linking it had a problem finding the constructor saying that it had an unresolved token (1st error) and an unresolved external symbol (2nd error).
Should I be able to use the C interface to WinPkFilter from Microsoft Visual Studio 2005?
Also, is the driver that is downloadable from the website time-limited in any way or is it an unlimited demo for private use? (this is what I understood… but I read a few posts here mentioning a 100-packet limit.. please clarify)
Thanks!!
-Dan