Re[4]: Дефрагментация и FSCTL_MOVE_FILE
От: bixbit  
Дата: 13.08.12 17:51
Оценка:
D>Во-первых, попробуйте добавить привилегию SeManageVolumePrivilege. Возможно, это поможет.

Не помогло.

D>А во-вторых, никогда не вываливайте на форум кучу кода со словами "что-то тут не работает". Никто за вас не будет отлаживать этот код. Если хотите получить от кого-то помощи, всегда конкретизируйте проблему. Что именно не работает, как вы определили, что не работает, как должно быть. Если функция возвращает ошибку, то указывайте код ошибки.


Извиняюсь, прсто трудно объяснить.
Собираю все параметры так как пишет мсдн. Вызиваю функцию
////////////////////////////////////////////
///FSCTL_MOVE_FILE
////////////////////////////////////////////
                int z= DeviceIoControl(hDisk,FSCTL_MOVE_FILE,&MoveParams,sizeof(MoveParams),NULL,0,&br,NULL);


А вот даные которые передаются в функцию и котоые она возвращает:

StartingVcn.QuadPart:775079   StartingLcn.QuadPart:837091    ClusterCount:1    GetLastError():0    DeviceIoControl return: 1 Bytes return: 0 
StartingVcn.QuadPart:776211   StartingLcn.QuadPart:837092    ClusterCount:1    GetLastError():0    DeviceIoControl return: 1 Bytes return: 0 
StartingVcn.QuadPart:1486965   StartingLcn.QuadPart:837093    ClusterCount:2    GetLastError():0    DeviceIoControl return: 1 Bytes return: 0 
StartingVcn.QuadPart:11377226   StartingLcn.QuadPart:837095    ClusterCount:114    GetLastError():0    DeviceIoControl return: 1 Bytes return: 0




Кластеры файла заданы правильно (DiskExplorer)



В MFT таблице на месте на которое перемещается файл ничего нету



BytesPerSector 512
SectorsPerCluster 8
Перые сектора первых крастеров после копирования
775079*8=6200632 — источник
837091*8=6696728 — приемник



 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.