IShellLibrary::GetFolders 方法 (shobjidl_core.h)
获取库中包含的子文件夹集。
语法
HRESULT GetFolders(
[in] LIBRARYFOLDERFILTER lff,
[in] REFIID riid,
[out] void **ppv
);
参数
[in] lff
以下 LIBRARYFOLDERFILTER 值之一,用于确定要获取的文件夹。 这些标志不能组合在一起。
LFF_FORCEFILESYSTEM (1)
仅获取文件系统文件夹。 文件系统文件夹是设置了 SFGAO_FILESYSTEM 属性的文件夹。
LFF_STORAGEITEMS (2)
获取可绑定到 IStorage 对象的所有文件夹。 这些文件夹是设置了 SFGAO_STORAGE 或 SFGAO_FILESYSTEM 属性的文件夹。
LFF_ALLITEMS (3)
获取库中的所有文件夹。
[in] riid
类型: REFIID
对在 ppv 中获取的接口的 IID 的引用。 此值通常IID_IShellItemArray,但它也可以IID_IObjectCollection、IID_IObjectArray或 CShellItemArray 实现的任何其他接口的 IID。
[out] ppv
类型: void**
指向 riid 中请求的接口的指针。 如果此调用失败,则此值为 NULL。
返回值
类型: HRESULT
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
调用成功,指定的文件夹以 ppv 返回。 |
|
调用成功,但并非所有指定的文件夹都以 ppv 返回。 |
|
此方法可以返回其他错误值。 |
注解
此方法获取文件夹的有序列表。 默认情况下,此方法仅返回存储位置。
为了获得最佳结果,请使用 objbase.h 中定义的 IID_PPV_ARGS 宏来获取 riid 和 ppv 参数。 此宏基于 ppv 中值指向的接口提供正确的 IID,这消除了编码错误的可能性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
另请参阅
IShellLibrary::LoadLibraryFromItem