GetPluginDirList
Функция
GetPluginDirList
возвращает список файлов в указанной директории (с поддиректориями) эмулируемой файловой системы.
intptr_t WINAPI GetPluginDirList( const GUID *PluginId, HANDLE hPanel, const wchar_t *Dir, struct PluginPanelItem **pPanelItem, size_t *pItemsNumber );
Параметры
PluginId
Указатель на GUID плагина (для вашего плагина, GUID должен быть таким же, что и в поле
GlobalInfo.Guid
функции GetGlobalInfoW).hPanel
Текущий описатель панели. Если описатель панели равен
PANEL_ACTIVE
(или PANEL_PASSIVE
), то значение параметра PluginId
игнорируется и используется GUID плагина, которому принадлежит активная (или пассивная) панель.Dir
Имя обрабатываемой директории. Должно быть в форме, приемлемой для функции плагина SetDirectoryW.
Плагинам обычно не требуется обработка полного пути функцией
SetDirectoryW
, поэтому чаще всего (нужно в этом убедиться), это просто имя обрабатываемого подкаталога текущего каталога.
Для сохранения текущей директории плагина неизменной после вызова GetPluginDirList
, либо Dir
должен быть подкаталогом текущего каталога плагина, либо функция SetDirectoryW
плагина должна уметь обрабатывать имя каталога, возвращаемое GetOpenPanelInfoW.
Иначе текущая директория будет изменена, и вы должны быть готовы восстановить её.
pPanelItem
Указывает на переменную, которая получит адрес массива структур PluginPanelItem.
Когда этот массив больше не нужен, он должен быть передан функции FreePluginDirList.
Когда этот массив больше не нужен, он должен быть передан функции FreePluginDirList.
pItemsNumber
Указывает на переменную, которая получит число структур PluginPanelItem.
Возвращаемое значение
Если функция завершилась успешно, она вернёт
TRUE
. Если функция закончилась неудачно или обработка директории была прервана пользователем, то она вернёт FALSE
.
Замечания
- Возвращаемые имена файлов включают исходный каталог
Dir
. Например, еслиDir
естьDIR1\DIR2
, то имена файлов будут в видеDIR1\DIR2\file.ext
,DIR1\DIR2\subdir\file.ext
и т.п. - Пользователь может прервать выполнение функции, нажав клавишу Esc, при этом функция вернёт значение
FALSE
.
Смотрите также: