0

I test actually with PcapPlusPlus. It is checked out and added to my Visual Studio Pro 2022. The batch files in ci are executed and the npcap sdk is installed. In parallel Wireshark and Winpcap are installed. The targit is set to x64_debug.

The compiling of the Project are successfull, but if I try to start the application, it will crash with the error message "The procedure entry point pcap_open_offline_with_tsstamp_precision could not be located in the dynamic link library <path to the pcapprinter.exe" Now I have tried to copy the dll's directly to the application folder, because I guess, the Winpcap.dll missing this function. The 32bit and 64bit version of the dll will also not work. The version comparing shows me, the needed dll is more actual as the Winpcap version.

The system is a Windows 11, where I try to start it. This is the output of Visual Studio. I am lack of ideas, what is here wrong.

"PcapPrinter.exe" (Win32): "C:\Users\bjoern\source\repos\PcapPlusPlus\out\build\x64-Debug\examples_bin\PcapPrinter.exe" geladen. Symbole wurden geladen.
"PcapPrinter.exe" (Win32): "C:\Windows\System32\ntdll.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\kernel32.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\KernelBase.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\ws2_32.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\rpcrt4.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Users\bjoern\source\repos\PcapPlusPlus\out\build\x64-Debug\examples_bin\wpcap.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Users\bjoern\source\repos\PcapPlusPlus\out\build\x64-Debug\examples_bin\wpcap.dll" wurde entladen.
"PcapPrinter.exe" (Win32): "C:\Windows\System32\wpcap.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\msvcp140d.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\ole32.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\msvcp_win.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\ucrtbase.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\gdi32.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\win32u.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\gdi32full.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\user32.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\combase.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\vcruntime140d.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\vcruntime140_1d.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\ucrtbased.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\Packet.dll" geladen. 
"PcapPrinter.exe" (Win32): "C:\Windows\System32\Packet.dll" wurde entladen.
Ausnahme ausgelöst bei 0x00007FFD3063EE2D (ntdll.dll) in PcapPrinter.exe: 0xC0000139: Entry Point Not Found.
Der Thread 0x956c hat mit Code 3221225785 (0xc0000139) geendet.
Der Thread 0x7890 hat mit Code 3221225785 (0xc0000139) geendet.
Das Programm "[9984] PcapPrinter.exe" wurde mit Code 3221225785 (0xc0000139) 'Entry Point Not Found' beendet.
  • Seeing packet.dll getting loaded from C:\Windows\System32 is something that should worry you. Always good odds that it was put there by some installer a while ago, giving you an old version. Or a completely different DLL, "packet.dll" is not a very distinctive name. Use the post-build event to xcopy the DLL into the build directory. – Hans Passant Apr 24 '23 at 14:27
  • I put the original npcap dlls direcly to the output directory. The packet.dll is loaded and in the next step direcly unloaded. The same with the wpcap.dll. I guess, this means Windows loads the dll's but is not able to find the correct function and unloads the dll direcly. **[Solution]** I switches from the npcap lib to the Winpcap lib and the issue is gone :-) – Björn Beuck Apr 25 '23 at 07:34

0 Answers0