Добрый день. Вопрос такой, мне нужно определить исправна ли дискета для записи, при этом не теряя того что на ней уже существует. Я вот что подумал по этому поводу. Считать файловую таблицу, считать данные любого файла, всмысле размер и где расположен, затем прочесть его и посчиатать его размер, если не совпадаеь с данными из файловой таблицы, значит дискета испорченя. Вопрос, прав ли я ? И может кто то подскажет болле грамотные способы. Заранее благодарен Максим заранее благодарен Максим Заикин.
Код (Text): bool IsValidDiskette() { DWORD dwBytesRead = 0; BYTE SectorData[512]; HANDLE hDrive = NULL; DWORD SectorsCount = 0; hDrive = CreateFile("\\\\.\\a:", GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hDrive == INVALID_HANDLE_VALUE) return false; SectorsCount = GetFileSize(hDrive, NULL); SectorsCount = (SectorCount / 512) + (SectorsCount % 512)?1:0; while(SectorsCount--) { if (!ReadFile(hDrive, SectorData, 512, &dwBytesRead, NULL) || dwBytesRead != 512) { CloseHandle(hDrive); return false; } } CloseHandle(hDrive); return true; } не проверял