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 может включать обычные допустимые в именах файлов символы, а также специальные выражения:
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 ).
Результат записывается в Param2 . Size должен содержать размер буфера с учётом завершающего \0 .
Возвращаемое значение - необходимый размер буфера.Если нужно преобразовать только часть Param1 , то можно указать размер этой части (может быть до 65535 символов) в Flags (добавить по принципу OR), например: Param1=L"dir1\\file1" , а нам нужно изменить только
"dir1", тогда параметр Flags должен быть равен PN_GENERATENAME|4 | ||||||||
PN_CHECKMASK | Проверить валидность маски. Param1 соответствует списку масок для проверки. | ||||||||
PN_SHOWERRORMESSAGE | При проверке валидности маски (PN_CHECKMASK ) выводить сообщение об ошибке. |
Возвращаемое значение
См. описание параметра
Flags