Вызов DLL-библиотеки Libmagic возвращает ошибку 126

Я работаю над проектом, который должен использовать библиотеку lib magic для определения типа файлов MIME, я использую 64-битную версию для Windows (см.: https://github.com/nscaife/file-windows), сам мой проект Cll, который я буду называть из Python. Загрузка библиотеки работает нормально, однако, когда я использую GetProcAddress() для доступа к какой-либо функции, она возвращает NULL, а функция GetLastError() возвращает 126. Смотрите мой код:

int DLL_EXPORT mag()
{
   char *actual_file = "test.db";
   const char *magic_full;
   HMODULE hModule = LoadLibrary("libmagic-1.dll");
   if(hModule == NULL) //No problem here
    return GetLastError();
   magic_t (*t0)(int) = (void *) GetProcAddress(hModule, "magic_open");
   const char (*t)(magic_t, const char *)  = (void *) 
   GetProcAddress(hModule, "magic_file");
   if(t0 == NULL && t == NULL);
    return GetLastError();
   magic_t magic_cookie;
   magic_cookie = t0(MAGIC_MIME);
   magic_full = t(magic_cookie, actual_file);
   return 0;
}

В чем здесь проблема?

0 ответов

Другие вопросы по тегам