Я пытаюсь прочитать с SD-карты необработанные данные, которые не отформатированы в файловой системе, распознаваемой Windows.
Используя команду mountvol
в командной строке, я могу получить VolumeID
, который я пытаюсь использовать для доступа и чтения с устройства, но я не добился успеха.
Я пытаюсь сделать это на C / C ++. Я пытался fopen
VolumeID
и пытался использовать CreateFile
, чтобы получить ручку и использовать ее.
Есть идеи, что еще я могу попробовать? Я знаю, что вы можете открыть том напрямую с помощью команды «Пуск» в командной строке, поэтому я должен верить, что есть способ сделать это.
Примеры:
LPCTSTR test = L"\\\\\?\\Volume{501d29da-6d6d-48ab-a8bc-e14a7da74e9f}\\";
HANDLE file_handle = CreateFile(
test
, GENERIC_READ
, FILE_SHARE_READ | FILE_SHARE_WRITE
, NULL
, OPEN_EXISTING
, FILE_FLAG_NO_BUFFERING | FILE_FLAG_RANDOM_ACCESS
, NULL);
OR
FILE *volume = fopen("\\\\\?\\Volume{501d29da-6d6d-48ab-a8bc-e14a7da74e9f}\\", "r");
long long offset = 0; // Sector-aligned offset
setbuf(volume, NULL); // Disable buffering