如果DLL锁定,LoadLibrary失败

时间:2019-03-01 23:38:27

标签: c++ loadlibrary locks

我设计了多个程序,这些程序同时尝试对文件进行锁定,以便可以从所有程序中设置母版。但是,该文件也是程序成为主程序时必须加载的dll。

这是代码:

bool takeLock(){
    .....
    if ((handle = CreateFileA(path.c_str(),  GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)) == INVALID_HANDLE_VALUE) {
        return false;
    }
    return true;
}
....
HMODULE lib = LoadLibraryA(path);

我选择GENERIC_WRITE是因为我认为LoadLibrary不会写回dll。但是失败了。它还在GENERIC_READ上失败。

LoadLibrary是否适合锁定?

0 个答案:

没有答案