我有程序来拍摄磁盘中所有卷的快照。它将使用FSCTL_GET_VOLUME_BITMAP
读取每个卷中的数据。它将数据写入另一个文件。
一切正常,但是当我按照指示改变代码时它不会:
如果卷包含操作系统,那么我会将一些驱动程序文件复制到system32 / drivers中,因此在读取数据之前已经发生了写入。
我读了仅在写完成后使用FSCTL_GET_VOLUME_BITMAP
获得的Volumebitmap。但它仅返回新复制文件的值。已存在的所有其他数据均为0。
当我尝试在调试模式下调试代码时,它会完美地获取旧数据+新数据。 但是当我尝试在发布模式下运行时,它会提供更改后的值,即仅新复制的文件。
在调试和发布模式下会出现什么问题?
我尝试设置属性C / C ++优化,整个程序优化 - >是的,那么它提供了错误的价值。但如果我将其设置为“否”,那么它会提供正确的结果。
因此在发布模式期间会出现问题。