}
wpcap = LoadLibrary(_T("wpcap.dll"));
packet = LoadLibrary(_T("packet.dll"));
- isdll = isdllversion(_T("wpcap.dll"), 4, 0, 0, 0);
SetDllDirectory(_T(""));
if (wpcap == NULL) {
FreeLibrary(packet);
int err = GetLastError();
wpcap = LoadLibrary (_T("wpcap.dll"));
packet = LoadLibrary(_T("packet.dll"));
- isdll = isdllversion(_T("wpcap.dll"), 4, 0, 0, 0);
if (wpcap == NULL) {
write_log (_T("uaenet: npcap/winpcap not installed (wpcap.dll)\n"));
return NULL;
return NULL;
}
- if (!isdll) {
- write_log (_T("uaenet: too old npcap/winpcap, v4 or newer required\n"));
- return NULL;
- }
-
ppcap_lib_version = (PCAP_LIB_VERSION)GetProcAddress(wpcap, "pcap_lib_version");
ppcap_findalldevs_ex = (PCAP_FINDALLDEVS_EX)GetProcAddress(wpcap, "pcap_findalldevs_ex");
ppcap_freealldevs = (PCAP_FREEALLDEVS)GetProcAddress(wpcap, "pcap_freealldevs");
pPacketCloseAdapter = (PACKETCLOSEADAPTER)GetProcAddress(packet, "PacketCloseAdapter");
pPacketRequest = (PACKETREQUEST)GetProcAddress(packet, "PacketRequest");
+ if (!ppcap_lib_version || !ppcap_findalldevs_ex || !ppcap_freealldevs ||
+ !ppcap_open || !ppcap_close || !ppcap_datalink || !ppcap_sendpacket ||
+ !ppcap_next_ex || !pPacketOpenAdapter || !pPacketCloseAdapter || !pPacketRequest) {
+ write_log(_T("uaenet: too old npcap/winpcap, missing function(s).\n"));
+ return NULL;
+ }
+
ss = au (ppcap_lib_version());
if (!done)
write_log (_T("uaenet: %s\n"), ss);