FSF.ProcessName позволяет обработать некое имя файла: сравнить с маской, с масками или сгенерировать по маске новое имя.
size_t WINAPI ProcessName( const wchar_t *Param1, wchar_t *Param2, size_t Size, PROCESSNAME_FLAGS Flags );
| Действие | Описание | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| PN_CMPNAME | Сравнить имя файла с маской.Param1 соответствует Pattern, Param2 соответствует String, Size игнорируется.
Параметр Param1 может включать обычные допустимые в именах файлов символы, а также специальные выражения:
f*.ex?, маска *co* совпадает с color.ini и edit.com, маске
[c-ft]*.txt будут соответствовать config.txt, demo.txt, faq.txt и tips.txt.В случае успеха функция возвращает TRUE. | ||||||||
| PN_CMPNAMELIST | Сравнить имя файла со списком масок, перечисленных через запятую. Аналог предыдущего флага, только Param1 соответствует списку масок.
Size игнорируется. | ||||||||
| PN_SKIPPATH | Может сочетаться с PN_CMPNAME или PN_CMPNAMELIST - указывает на то, что путь к имени файла при сравнении должен игнорироваться. | ||||||||
| PN_GENERATENAME | Генерировать имя файла на основе существующего (Param1) и маски (Param2).
Результат, длиной Size, записывается в Param2 (учитывайте, что размер буфера Param2 должен быть не менее Size).
Возвращается функцией требуемый размер буфера Param2.Если нужно преобразовать только часть Param1, то можно указать размер этой части (может быть до 255 байт) в Flags (добавить по принципу OR), например: Param1=L"dir1\\file1", а нам нужно изменить только
"dir1", тогда параметр Flags должен быть равен PN_GENERATENAME|4 | ||||||||
| PN_CHECKMASK | Проверить валидность маски. Param1 соответствует списку масок для проверки. | ||||||||
| PN_SHOWERRORMESSAGE | При проверке валидности маски (PN_CHECKMASK) выводить сообщение об ошибке. |
Flags