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