Win7/10 下直接对"\\\\.\\PhysicalDriveX"设备WriteFile 被拒绝
这个设备就是U盘。其实前几天代码还在工作,今天不工作了。(GetLastError() = 5,但是确实是管理员启动的VS)
前几天有时候也不工作,重启系统就好了,今天重启也不好使了。
1. dev = CreateFile( TargetDiskDeviceName,
GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_DEVICE|FILE_ATTRIBUTE_NORMAL, NULL);
2 DeviceIoControl (dev, IOCTL_DISK_CREATE_DISK ...)
3. 然后 WriteFile 一个 512 字节的 0x00 数据到 磁盘的首个扇区
34 最后 DeviceIoControl (dev, IOCTL_DISK_UPDATE_PROPERTIES, ... )
上面的步骤在一个函数里,调用完这个函数,还调了其他函数,比如在指定扇区写一些自己的数据...
这应该怎么弄,才是正确的姿势呢?