Hi Brad, On Wed, Feb 10, 2021 at 3:04 PM Brad Spencer <bspen...@blackberry.com> wrote: > > Would it make sense to link the official wintun.dll with the MSVC > linker's -DEPENDENTLOADFLAG:0x800 option? > > https://docs.microsoft.com/en-us/cpp/build/reference/dependentloadflag > > Doing so restricts the search path for immediate dependencies to the > %windows%\system32\ directory, and I think all of the DLLs Wintun needs > are there.
That flag is a bit of a can of worms, which I haven't been too inclined to open. See: https://skanthak.homepage.t-online.de/snafu.html Instead, wintun.dll uses delay loading for all DLLs except for kernel32.dll and ntdll.dll, and then forces the delay loader hook through LoadLibraryEx. See: https://git.zx2c4.com/wintun/tree/api/entry.c#n25 You can see this in action by putting wintun.dll into depends: https://data.zx2c4.com/depends-for-wintun-dll-feb-2021.png (CCing Stefan, in case he's curious. The DLLs in question are https://www.wintun.net/builds/wintun-0.10.1.zip ) Jason