我尝试打开物理驱动器
ofstream * _fileWriter->open(_destPath, std::ofstream::out | std::ofstream::binary);
_destPath = \\。\ PhysicalDrive1
但是,当我尝试做
if (!(_fileWriter->is_open()))
return false;
返回假
最佳答案
您必须以提升的访问权限运行该程序。
要求GENERIC_READ
/ GENERIC_WRITE
hdrive = CreateFile(L"\\\\.\\PhysicalDrive0", GENERIC_READ,
FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
如果只想获取磁盘信息,则可以以没有读/写访问权限的方式打开磁盘,下面的代码不需要提升的访问权限:
HANDLE hdrive;
hdrive = CreateFile(L"\\\\.\\PhysicalDrive0", 0,
FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
if (hdrive == INVALID_HANDLE_VALUE)
{
cout << "error " << GetLastError() << endl;
return 0;
}
cout << "open" << endl;
CloseHandle(hdrive);
关于c++ - 打开物理驱动器。视窗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33753020/