我的win32 C ++应用程序经常检查通常驻留在网络共享中的文件[在我们的公司网络中]。但是,如果计算机未连接到网络,应用程序将冻结几分钟,用户通常必须结束该过程。如何在打开文件之前检查文件是否可访问?
检查是否存在任何网络连接可能不够好。用户断开连接的原因是用于不存在文件的测试网络。
答案 0 :(得分:2)
将文件访问权限放入单独的帖子中?
答案 1 :(得分:2)
我认为一个帖子是你最好的选择。
似乎没有办法异步调用CreateFile API。打开文件句柄后,您可以对其执行异步I / O,但打开它的行为仍然是同步的。
您必须自己管理与线程的同步,因为只有您的应用知道何时需要fopen的结果,并且它可能仍然在此时阻止。
答案 2 :(得分:1)
在我看来,这个方法在一个单独的线程中是你最好的选择。