Функция 58, подфункция 5 - переименовать/переместить файл/папку.
Параметры:
- eax = 58 - номер функции
- ebx = указатель на информационную структуру
Формат информационной структуры:
- +0: dword: 5 = номер подфункции
- +4: dword: игнорируется
- +8: dword: игнорируется
- +12 = +0xC: dword: игнорируется
- +16 = +0x10: dword: указатель на буфер для работы системы
(4096 байт)
- +20 = +0x14: ASCIIZ-имя файла, правила формирования имён указаны в
общем описании
- +20+n: (сразу после завершающего нулевого символа) новое
ASCIIZ-имя, должно начинаться с /hd/1, что интерпретируется как
жёсткий диск, указанный в первом имени
(перемещение с одного диска на другой не поддерживается)
Возвращаемое значение:
Замечания:
- Рамдиск и дискеты не поддерживают эту функцию,
она только для жёстких дисков.
- Если новое ASCIIZ-имя сильно неправильное, т.е. не начинается с
/hd/1, /hd/first, /harddisk/1, /harddisk/first или после этого
начала идёт пробел или символ с кодом 0, то функция возвращает,
как ни странно, код ошибки 4. Это единственная функция, которая
вообще возвращает этот код.