IShellFolder::EnumObjects 方法 (shobjidl_core.h)

使客户端能够通过创建项标识符枚举对象并返回其 IEnumIDList 接口来确定文件夹的内容。 然后,该接口支持的方法可用于枚举文件夹的内容。

语法

HRESULT EnumObjects(
  [in]  HWND        hwnd,
  [in]  SHCONTF     grfFlags,
  [out] IEnumIDList **ppenumIDList
);

参数

[in] hwnd

类型:HWND

如果需要用户输入来执行枚举,枚举对象应将此窗口句柄用作父窗口来获取用户输入。 例如,要求提供密码或提示用户插入 CD 或软盘的对话框。 如果 hwndOwner 设置为 NULL,则枚举器不应发布任何消息,并且如果需要用户输入,则它应该会以无提示方式失败。

[in] grfFlags

类型: SHCONTF

指示要包含在枚举中的项的标志。 有关可能值的列表,请参阅 SHCONTF 枚举类型。

[out] ppenumIDList

类型: IEnumIDList**

接收指向此方法创建的枚举对象的 IEnumIDList 接口的指针的地址。 如果发生错误或找不到合适的子对象, ppenumIDList 将设置为 NULL

返回值

类型: HRESULT

如果成功,则返回 S_OK,否则返回错误值。 某些实现也可能返回 S_FALSE,指示没有与传入的 grfFlag 匹配的 子级。 如果 S_FALSE 返回 , 则 ppenumIDList 设置为 NULL

注解

如果该方法返回S_OK,则 ppenumIDList 会收到指向枚举器的指针。 在这种情况下,调用应用程序必须通过调用其 Release 方法释放返回的 IEnumIDList 对象。

如果该方法返回S_FALSE,则文件夹不包含合适的子对象,并且 ppenumIDList 中指定的指针将设置为 NULL

如果方法失败,则返回错误值,并将 ppenumIDList 中指定的指针设置为 NULL

如果文件夹不包含合适的子对象,则允许 IShellFolder::EnumObjects 方法将 *ppenumIDList 设置为 NULL 并返回S_FALSE,或将 *ppenumIDList 设置为不生成任何对象的枚举器并返回S_OK。 调用应用程序必须针对这两个成功案例做好准备。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (4.0 或更高版本)

另请参阅

IShellFolder

IShellFolder2

SHGetDesktopFolder