ProcessName

Функция FSF.ProcessName позволяет обработать некое имя файла: сравнить с маской, с масками или сгенерировать по маске новое имя.
size_t WINAPI ProcessName(
  const wchar_t *Param1,
  wchar_t *Param2,
  size_t Size,
  PROCESSNAME_FLAGS Flags
);

Параметры

Param1
Зависит от Flags.
Param2
Зависит от Flags.
Size
Зависит от Flags.
Flags
Указывает на необходимое действие. Может быть следующим (тип PROCESSNAME_FLAGS):
ДействиеОписание
PN_CMPNAME Сравнить имя файла с маской.
Param1 соответствует Pattern, Param2 соответствует String, Size игнорируется. Параметр Param1 может включать обычные допустимые в именах файлов символы, а также специальные выражения:
МетасимволОписание
* любое количество символов
? любой символ
[c,x-z] любой символ из находящихся в квадратных скобках; допускаются и отдельные символы, и их диапазоны.
Например, файлы ftp.exe, fc.exe и f.ext совпадают с маской 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, то можно указать размер этой части (может быть до 65535 символов) в Flags (добавить по принципу OR), например: Param1=L"dir1\\file1", а нам нужно изменить только "dir1", тогда параметр Flags должен быть равен PN_GENERATENAME|4
PN_CHECKMASK Проверить валидность маски. Param1 соответствует списку масок для проверки.
PN_SHOWERRORMESSAGE При проверке валидности маски (PN_CHECKMASK) выводить сообщение об ошибке.

Возвращаемое значение

См. описание параметра Flags