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