我可以在用户模式下获得Vista和Windows 7下的原始磁盘扇区的写入权限吗?

Ali*_*Ali 6 c c++ winapi windows-vista windows-7

来自RawDisk网站:

Windows Vista的新安全模型严格限制在用户模式下执行的应用程序.即使具有提升的管理权限,应用程序也无法获得对原始磁盘扇区的写入权限.

这是真的?

来自Microsoft doc:

如果未装入卷没有文件系统,则对文件系统和存储堆栈的更改不适用.

请给

  • 要么是官方Microsoft文档的链接,要么确认RawDisk网站
  • 或者一个工作代码示例.(我显然没有创建一个,CreateFile()调用失败,ERROR_ACCESS_DENIEDif GENERIC_WRITE设置.)

到目前为止我发现的其他相关Microsoft文档:

MSa*_*ers 1

是的。您链接到的第一篇文章提供了更长的例外列表:

  • 如果文件系统没有挂载
  • 如果文件系统已被锁定。
  • 如果写入的扇区驻留在文件系统空间之外(这包括引导扇区,以及“无文件系统”情况,显然所有扇区都在文件系统之外)
  • 如果写入请求已被内核模式驱动程序标记。

显然,最后一个例外与你无关。用户模式与内核模式相反。其他例外情况仍然适用。