Поделиться через


Метод 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 или более поздняя)

См. также раздел

IShellFolder

IShellFolder2

SHGetDesktopFolder