Passing zero as to GetProcAddress is undocumented, but seems to be equivalent to passing GetModuleHandle(NULL) which searches only the address space of the executable file. Emulate the effect of dlsym(0, ...) by searching all loaded modules. Probably not so efficient...