static gpointer w32_find_symbol (gpointer module, const gchar *symbol_name) { HMODULE *modules; HMODULE *main_module; DWORD buffer_size = sizeof (HMODULE) * 1024; DWORD needed, i; gpointer proc = NULL; /* HACK: re-check whether the main module should be searched for symbols */ main_module = GetModuleHandle (NULL); /* get the symbol directly from the specified module */ if (module != main_module) return GetProcAddress (module, symbol_name); /* get the symbol from the main module */ proc = GetProcAddress (main_module, symbol_name); if (proc != NULL) return proc; ....