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); }
Смотрите также: