SetDirectoryW
Функция
SetDirectoryW вызывается Far Manager'ом для смены каталога в эмулируемой файловой системе.
intptr_t WINAPI SetDirectoryW( const struct SetDirectoryInfo *Info );
Параметры
Info
Указатель на структуру SetDirectoryInfo, Far Manager передает плагину информацию о новом каталоге.
В начале функции проверьте, что поле
В начале функции проверьте, что поле
SetDirectoryInfo.StructSize >= sizeof(SetDirectoryInfo).Возвращаемое значение
Если функция выполнила свои действия успешно, то верните
1. В противном случае 0.
Замечания
Если в
SetDirectoryInfo.OpMode выставлен флаг OPM_FIND, то:
- это значит, что функция
SetDirectoryWвызывается из диалога поиска файлов (Alt+F7) или другой команды, сканирующей каталоги. Поэтому плагин не должен производить никаких действий кроме смены каталога и возвращения1в случае удачи или0в случае невозможности сменить каталог. - плагин должен аккуратно обрабатывать каталог ".." и при невозможности сменить его - возвращать
0. Иначе поиск может зациклиться на панели этого плагина.
Пример
Пример из плагина "TmpPanel".
intptr_t WINAPI SetDirectoryW(const struct SetDirectoryInfo *Info)
{
TmpPanel *Panel=(TmpPanel *)Info->hPanel;
return Panel->SetDirectory(Info->Dir,Info->OpMode);
}
Смотрите также: