IShellLibrary::GetFolders 方法 (shobjidl_core.h)

获取库中包含的子文件夹集。

语法

HRESULT GetFolders(
  [in]  LIBRARYFOLDERFILTER lff,
  [in]  REFIID              riid,
  [out] void                **ppv
);

参数

[in] lff

类型: LIBRARYFOLDERFILTER

以下 LIBRARYFOLDERFILTER 值之一,用于确定要获取的文件夹。 这些标志不能组合在一起。

LFF_FORCEFILESYSTEM (1)

仅获取文件系统文件夹。 文件系统文件夹是设置了 SFGAO_FILESYSTEM 属性的文件夹。

LFF_STORAGEITEMS (2)

获取可绑定到 IStorage 对象的所有文件夹。 这些文件夹是设置了 SFGAO_STORAGESFGAO_FILESYSTEM 属性的文件夹。

LFF_ALLITEMS (3)

获取库中的所有文件夹。

[in] riid

类型: REFIID

对在 ppv 中获取的接口的 IID 的引用。 此值通常IID_IShellItemArray,但它也可以IID_IObjectCollection、IID_IObjectArray或 CShellItemArray 实现的任何其他接口的 IID。

[out] ppv

类型: void**

指向 riid 中请求的接口的指针。 如果此调用失败,则此值为 NULL

返回值

类型: HRESULT

此方法可以返回其中一个值。

返回代码 说明
S_OK
调用成功,指定的文件夹以 ppv 返回。
S_FALSE
调用成功,但并非所有指定的文件夹都以 ppv 返回。
E_
此方法可以返回其他错误值。

注解

此方法获取文件夹的有序列表。 默认情况下,此方法仅返回存储位置。

为了获得最佳结果,请使用 objbase.h 中定义的 IID_PPV_ARGS 宏来获取 riidppv 参数。 此宏基于 ppv 中值指向的接口提供正确的 IID,这消除了编码错误的可能性。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)

另请参阅

IObjectArray

IObjectCollection

IShellItemArray

IShellLibrary

IShellLibrary::AddFolder

IShellLibrary::LoadLibraryFromItem

IShellLibrary::LoadLibraryFromKnownFolder

LIBRARYFOLDERFILTER

库说明架构

SFGAO

SHAddFolderPathToLibrary

SHLoadLibraryFromItem

SHLoadLibraryFromKnownFolder

SHLoadLibraryFromParsingName

SHRemoveFolderPathFromLibrary

Windows 库