我的程序中有一个线程试图CreateFile
以锁定USB设备,但是,有时不是失败,而是需要永远。还有人遇到这个问题吗?有什么方法可以设置此函数的超时时间吗?代码如下:
string file = @"\\.\" + DriveLetter[0] + ":";
handle = CreateFile(filename, GENERIC_READ, FILE_SHARE_WRITE, IntPtr.Zero, 0x3, 0, IntPtr.Zero);
谢谢。
最佳答案
你想把它锁起来让它不可访问-作为一个设备-或者“阻止”它的分离(例如,它是一支钢笔)?
编辑:抱歉,我不允许添加评论:Sanyways。如果锁定很重要,那么可以使用devcon:http://support.microsoft.com/kb/311272和示例代码:http://www.programmersheaven.com/mb/dotnet/337951/337951/programatically-enable--disable-usb-port-using-cnet/轻松完成此操作,以防您不想一直将exe与参数一起使用。
关于c# - 为什么CreateFile需要永远?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16170842/