Hjælp med direkte diskadgang (raw disk access) i C++
Jeg har forsøgt at få direkte diskadgang til et USB-stik ved hjælp af CreateFile-funktionen, men jeg får fejlkoden 2 (Fil ikke fundet), og jeg har en ide om at det er fordi Windows bruger drevet, men jeg har ingen ide om hvordan jeg i så fald frakobler drevet ved hjælp af C++.Hvordan kan jeg få det til at virke?
Her er min kode:
//
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE handle = CreateFile((LPCWSTR)"\\\\.\\PhysicalDrive1", GENERIC_READ | GENERIC_WRITE, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD lasterror1 = GetLastError(); // Fejlkode 2 (Fil ikke fundet)
SetFilePointer(handle, 0, 0, FILE_BEGIN);
DWORD lasterror2 = GetLastError(); // Fejlkode 6 (Ugyldig handle)
void* buffer = new BYTE[10];
LPDWORD readedbytes = NULL;
if (!ReadFile(handle, buffer, 8, readedbytes, NULL))
{
DWORD lasterror3 = GetLastError(); // Fejlkode 6 (Ugyldig handle)
return 0;
}
return 0;
}