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 或更高版本) |