Winapi 如何防止windows在将原始映像文件写入PhysicalDrive时访问和检测新卷?
经过无数次的尝试和错误,我现在能够通过使用Windows Api调用(见下文)将原始图像文件(包含多个分区)闪存/写入Winapi 如何防止windows在将原始映像文件写入PhysicalDrive时访问和检测新卷?,winapi,windows-10,dd,disk-partitioning,usb-flash-drive,Winapi,Windows 10,Dd,Disk Partitioning,Usb Flash Drive,经过无数次的尝试和错误,我现在能够通过使用Windows Api调用(见下文)将原始图像文件(包含多个分区)闪存/写入\.\PhysicalDriveN(在我的例子中是SD卡) 但是,当我打开一些资源管理器窗口并四处单击时,写入过程就会失败(错误433)。另一个恼人的问题是弹出消息告诉我必须格式化一个新卷(在开始时,我还在写!),或者autoplay要求我选择一个操作(在我完成之后) 如何做对 以下是我现在正在做的事情(欢迎任何改进!) 对于每个命令,使用(“\\.\PhysicalDrive
\.\PhysicalDriveN
(在我的例子中是SD卡)
但是,当我打开一些资源管理器窗口并四处单击时,写入过程就会失败(错误433)。另一个恼人的问题是弹出消息告诉我必须格式化一个新卷(在开始时,我还在写!),或者autoplay要求我选择一个操作(在我完成之后)
如何做对
以下是我现在正在做的事情(欢迎任何改进!)
- 对于每个命令,使用(“\\.\PhysicalDrive1”,…)打开和关闭一个新句柄(还尝试使用相同的句柄执行所有操作,并尝试使用各种标志,如文件\标志\无\缓冲,dwShareMode=0,…)
- (手柄,…)
- 睡眠5s
- 而(…)(句柄,…)
- 设备控制(句柄,…)
- 设备控制(句柄,…)
- 设备控制(句柄,…)
- 设备控制(句柄,…)
所以,如果只有卷可以被锁定,而不是磁盘,我必须先创建一个虚拟卷,才能得到一个锁?我不喜欢那样!仍然希望找到更好的解决方案……这是你的问题答案吗?@DrakeWu MSFT,谢谢你的有趣链接。我在上面编辑了回复。您是否尝试过将磁盘设置为脱机:也禁用Explorer autoruns@SimonMourier,花了一些时间,但现在我尝试过(使用
diskpart/offline disk
命令),并得到错误“可移动介质上不支持该操作”-因此无法在此处使用:(