无论何时打开物理驱动器,我都无法使用lockfile锁定驱动器上的字节范围。我总是收到错误代码1。
#include <Windows.h>
#include <stdio.h>
int main()
{
HANDLE drive = CreateFileA("\\\\.\\PhysicalDrive0",
FILE_ALL_ACCESS,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (drive == INVALID_HANDLE_VALUE)
return 0;
if (!LockFile(drive,
0,
0,
512,
0))
{
printf("error: %ld\n", GetLastError());
}
return 0;
}
我想锁定驱动器的主启动记录,前512个字节。