Метод IShellFolder::EnumObjects (shobjidl_core.h)
Позволяет клиенту определить содержимое папки, создав объект перечисления идентификаторов элементов и возвратив его интерфейс IEnumIDList . Затем методы, поддерживаемые этим интерфейсом, можно использовать для перечисления содержимого папки.
Синтаксис
HRESULT EnumObjects(
[in] HWND hwnd,
[in] SHCONTF grfFlags,
[out] IEnumIDList **ppenumIDList
);
Параметры
[in] hwnd
Тип: HWND
Если для выполнения перечисления требуется ввод данных пользователем, этот дескриптор окна должен использоваться объектом перечисления в качестве родительского окна для приема пользовательских данных. Примером может быть диалоговое окно с запросом пароля или запросом на вставку компакт-диска или дискеты. Если для параметра hwndOwner задано значение NULL, перечислитель не должен публиковать сообщения, а если требуется ввод данных пользователем, он должен автоматически завершиться ошибкой.
[in] grfFlags
Тип: SHCONTF
Флаги, указывающие, какие элементы следует включить в перечисление. Список возможных значений см. в разделе Перечислимый тип SHCONTF .
[out] ppenumIDList
Тип: IEnumIDList**
Адрес, получающий указатель на интерфейс IEnumIDList объекта перечисления, созданного этим методом. Если возникает ошибка или подходящие подобъекты не найдены, ppenumIDList имеет значение NULL.
Возвращаемое значение
Тип: HRESULT
Возвращает значение S_OK
, если выполнение прошло успешно; в противном случае — значение ошибки. Некоторые реализации могут также возвращать S_FALSE
, указывая, что нет дочерних элементов, соответствующих переданным grfFlags . Если S_FALSE
возвращается значение , ppenumIDList имеет значение NULL
.
Комментарии
Если метод возвращает S_OK, ppenumIDList получает указатель на перечислитель. В этом случае вызывающее приложение должно освободить возвращенный объект IEnumIDList , вызвав его метод Release .
Если метод возвращает S_FALSE, папка не содержит подходящих подобъектов, а для указателя, указанного в ppenumIDList , задано значение NULL.
Если метод завершается ошибкой, возвращается значение ошибки, а для указателя, указанного в ppenumIDList, устанавливается значение NULL.
Если папка не содержит подходящих подобъектов, метод IShellFolder::EnumObjects может либо задать для *ppenumIDListзначение NULL и вернуть S_FALSE, либо задать *ppenumIDList для перечислителя, который не создает объектов и возвращает S_OK. Вызов приложений должен быть подготовлен для обоих успешных случаев.
Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |
DLL | Shell32.dll (версия 4.0 или более поздняя) |