调用Libmagic dll函数返回126

2024-04-29 16:01:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个需要使用lib magic库来检测文件mime类型的项目,我正在使用64位版本的windows(请参见:https://github.com/nscaife/file-windows)我的项目本身就是cdll,我将从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;
}

这里有什么问题?你知道吗


Tags: 项目函数returncookiewindowsmagicnullfile