【发布时间】:2012-02-03 06:09:33
【问题描述】:
Windows Vista 的新安全模型严格限制在用户模式下执行的应用程序。即使提升了管理权限,应用程序也无法获得对原始磁盘扇区的写入权限。
这是真的吗?
对文件系统和存储堆栈的更改不适用如果卷未安装或如果卷没有文件系统。
请给
- 确认 RawDisk 网站的 Microsoft 官方文档的链接
- 或工作代码示例。 (我显然没有创建一个,
CreateFile()调用失败,ERROR_ACCESS_DENIED如果设置了GENERIC_WRITE。)
到目前为止我找到的其他相关 Microsoft 文档:
- Blocking Direct Write Operations to Volumes and Disks
-
IRP_MJ_WRITE
SL_FORCE_DIRECT_WRITE -
FLT_IO_PARAMETER_BLOCK structure
SL_FORCE_DIRECT_WRITE
【问题讨论】:
-
尝试时会发生什么(当然是牺牲体积)?
-
@Richard 我得到
ERROR_ACCESS_DENIED(0x5)。我正在使用原始 SD 卡进行测试。 -
@Richard 仅仅因为我失败了并不意味着它不可能。看不懂
SL_FORCE_DIRECT_WRITE,不知道怎么用。 -
我假设您被
WriteFile拒绝访问?CreateFile成功了吗? -
@avakar 如果设置了
GENERIC_WRITE,则CreateFile()调用将失败。没有文件系统,设备是原始 SD 卡。这些信息将如何改变您的答案?
标签: c++ c winapi windows-7 windows-vista