这个 StackOverflow question 有一个答案,要求锁定/卸载卷,但似乎这不一定是必需的。当我使用十六进制编辑器HxD(
Tools
> Open disk
)打开卷(逻辑磁盘)或物理磁盘时,我可以无缝打开C:
,甚至它所在的SSD。我可以继续使用 C 盘,没有任何问题,HxD 会更新其内容。
此外,当我使用 MSVC 和
fopen("\\\\.\\D:", "rb")
和 fgetc()
时,我能够读取原始磁盘/卷的第一个字节 D:
。 MinGW 也会发生这种情况,我认为它链接到 MSVC 的库。
那么,我如何使用 Win32 API 来做到这一点?还是 MSVC 正在做 Win32 API 通常不会做的险恶的事情?