пустой буфер при использовании readFile на USB-устройстве

Этот код должен считывать некоторые данные с нулевого сектора флэш-накопителя USB, а затем распечатывать некоторые данные. Однако, когда я запускаю его, ничего не помещается в буфер.

int _tmain(int argc, _TCHAR* argv[])
{
int ReadSect = 0;
char diskname[60];
sprintf_s(diskname, "\\\\.\\K:", 'K');

HANDLE DiskHandle = CreateFile((LPCTSTR) diskname , GENERIC_READ,FILE_SHARE_READ,     NULL, OPEN_EXISTING, 0, NULL);
// set up the offsets for the addresses passed to setFilePointer, and ReadFile
long lo_offset, hi_offset;
LPDWORD temp = 0;
lo_offset = ReadSect << 9;
hi_offset = ReadSect >> 23;
(void) SetFilePointer( DiskHandle, 0, &hi_offset, FILE_BEGIN);

char buf[1024];
for(int i = 0; i<512;i++) {
buf[i]='X';
}

if (! ReadFile(DiskHandle, buf, 512, (LPDWORD)&lo_offset, NULL) )  {
printf("error reading sector %ld\n", ReadSect);
CloseHandle(DiskHandle);
}
for(int i = 0; i<512;i++) {
cout<<(char)buf[i];
}
cout<<endl<<endl<<endl;
getchar();
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector