相关的Microsoft文档是:
阻止对卷和磁盘的直接写入操作
CreateFile,对物理磁盘和卷的备注
可执行文件是用C++编写的,它调用CreateFile()打开没有文件系统的SD卡.在CreateFile()和连续ReadFile()通话是成功的为GENERIC_READ没有管理员权限.
CreateFileGENERIC_WRITE即使具有管理员权限也会失败.在资源管理器中,我在Properties> Compatibility> Privilege Level下设置Run as Administrator.我还尝试从Administrator cmd运行可执行文件(以Ctrl + Shift + Enter开头,"管理员:"在窗口标题中,正确提升).不过,我得到了ERROR_ACCESS_DENIED(0x5).
我是否必须传递其他内容CreateFile?我不知道什么样的安全属性,我只是通过NULL,相关的代码是在这里,在92行,和这里的48行.
或者是否还有其他任何东西应该设置为以管理员权限运行该进程?
我可以在用户模式下获得Vista和Windows 7下的原始磁盘扇区的写入权限吗?
Windows Vista中的原始分区访问
如何在C中直接访问原始HD数据?
是否有一种干净的方法来获取Windows下的物理分区的独占访问权限?
我希望能够直接从磁盘读取和写入数据(即在扇区/集群级别),但我还没有找到适合在Windows下执行此操作的工具.
我一直试图弄清楚如何在C#中编写自己的文档,但我发现的文档很少,只处理C++ API.
什么是直接在C#中读取/写入驱动器的最佳方式?(或者任何人都可以向我推荐一种允许我直接从驱动器读/写的工具?)
尝试使用StreamReader或类似的C#来读取和写入非常长的行而不使用换行符.
据我了解,在一个称为文件的长字节中,换行仍然只是2个字节(CR + LF).至少那就是我在C/C++中的习惯......
这对于C#和.net是否相同,或者没有换行的行有一些最大长度?
c# ×2
.net ×1
c ×1
c++ ×1
disk ×1
line-breaks ×1
streamreader ×1
textreader ×1
winapi ×1
windows-7 ×1