IShellFolder::GetAttributesOf 方法 (shobjidl_core.h)
获取 IShellFolder 表示的 对象中包含的一个或多个文件或文件夹对象的属性。
语法
HRESULT GetAttributesOf(
[in] UINT cidl,
[in] PCUITEMID_CHILD_ARRAY apidl,
[in, out] SFGAOF *rgfInOut
);
参数
[in] cidl
类型: UINT
要从中检索属性的项数。
[in] apidl
类型: PCUITEMID_CHILD_ARRAY*
指向 ITEMIDLIST 结构的指针数组的地址,每个结构都唯一标识相对于父文件夹的项。 每个 ITEMIDLIST 结构必须恰好包含一个 SHITEMID 结构,后跟一个终止零。
[in, out] rgfInOut
类型: SFGAOF*
指向单个 ULONG 值的指针,该值在输入时包含调用应用程序请求的按位 SFGAO 属性。 退出时,此值包含所有指定项通用的请求属性。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
若要优化此操作,请勿返回未指定的标志。
对于文件夹对象, SFGAO_BROWSABLE 属性意味着客户端可以绑定到此对象,如此处的常规形式所示。
IShellFolder::BindToObject(..., pidl, IID_IShellFolder, &psfItem);
然后,客户端可以通过此语句在该项上创建 IShellView 。
psfItem->CreateViewObject(..., IID_IShellView,...);
SFGAO_DROPTARGET 属性意味着客户端可以通过调用 IShellFolder::GetUIObjectOf 绑定到此文件夹的 IDropTarget 实例,如下所示。
IShellFolder::GetUIObjectOf(hwnd, 1, &pidl, IID_IDropTarget, NULL, &pv)
SFGAO_NONENUMERATED 属性指示由 IShellFolder::EnumObjects 方法创建的枚举器不返回的项。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
DLL | Shell32.dll (版本 4.0 或更高版本) |