ConvertNameToReal
Функция FSF.ConvertNameToReal преобразует относительное имя
файлового объекта в полное с учетом символических связей (т.н. reparse point
в Windows 2000) и текущего каталога.
int WINAPI ConvertNameToReal(
const char *Src,
char *Dest,
int DestSize
);
Параметры
Src
Источник данных - полное или относительное имя
файла/каталога.
Dest
Строка назначения, сюда будет помещен полный путь.
Может быть равна NULL.
DestSize
Размер принимаемых данных.
Если Dest=NULL, то параметр DestSize
игнорируется.
Возвращаемое значение
Реальный размер полного пути, размещенного в
Dest или требуемый
размер строки для случая, когда
Dest=
NULL.
- Для монтированных дисков, которые не имеют буквы диска, функция
поместит в Dest строку, подобную этой:
"\\?\Volume{273872e0-5e49-11d5-b614-0080ad70bb9b}\Foo.bar"
- Если, например, каталог
"D:\Foo\Bar" является симлинком для
реально существующего "C:\work\Doc", то функция для файла
"D:\Foo\Bar\1092\readme.txt" вернет "C:\work\Doc\1092\readme.txt"
Примечание
- Функция корректно определяет "реальный" путь только в Windows 2000 и выше.
Это связано с тем, что в OS ниже рангом невозможно определить
реальное имя симлинка (если таковой присутствует в компоненте пути).
- Параметры Src и Dest могут ссылаться на одну и
ту же строку.
Пример