1

我有程序拍摄磁盘中所有卷的快照。它将使用FSCTL_GET_VOLUME_BITMAP. 它将数据写入另一个文件。

一切正常,但是当我按照指示更改代码时却不行:

如果卷包含操作系统,那么我会将一些驱动程序文件复制到 system32/驱动程序中,因此在我读取数据之前发生了写入。

FSCTL_GET_VOLUME_BITMAP我只读取了在写入完成后使用的 Volumebitmap 。但它只返回新复制文件的值。所有其他已经存在的数据都是 0。

当我尝试在调试模式下调试代码时,它完全需要旧数据 + 新数据。但是当我尝试在发布模式下运行时,它给出的更改值仅是新复制的文件。

在调试和发布模式下会出现什么问题?

我尝试设置属性 C/C++ 优化,整个程序优化 -> 是,然后它提供了错误的值。但是,如果我将其设置为“否”,那么它会提供正确的结果。

所以问题发生在Release模式。

4

0 回答 0