SFGAO

SFGAO bitfield 值表示可在项目 (文件或文件夹) 或项目集上检索的属性。 它们与 IShellFolder 和 IShellItem API 一起使用,尤其是 IShellFolder::GetAttributesOfIShellItem::GetAttributes

常量/值 说明
SFGAO_CANCOPY
0x00000001
可以复制指定的项。
SFGAO_CANMOVE
0x00000002
可以移动指定的项。
SFGAO_CANLINK
0x00000004
可以为指定项创建快捷方式。 此属性的值与 DROPEFFECT_LINK相同。
如果命名空间扩展返回此属性,则会将带有默认处理程序的 “创建快捷方式” 条目添加到在拖放操作期间显示的快捷菜单中。 扩展还可以为 链接 谓词实现其自己的处理程序,以取代默认值。 如果扩展这样做,则它负责创建快捷方式。
创建快捷方式” 项也会添加到 Windows 资源管理器的“ 文件 ”菜单和普通快捷菜单中。
如果选择该项,则会调用应用程序的 IContextMenu::InvokeCommand 方法,并将 CMINVOKECOMMANDINFO 结构的 lpVerb 成员设置为 link。 应用程序负责创建链接。
SFGAO_STORAGE
0x00000008
指定的项可以通过 IShellFolder::BindToObject 绑定到 IStorage 对象。 有关命名空间操作功能的详细信息,请参阅 IStorage
SFGAO_CANRENAME
0x00000010
可以重命名指定的项。 请注意,此值实质上是一个建议;并非所有命名空间客户端都允许重命名项。 但是,必须设置此属性。
SFGAO_CANDELETE
0x00000020
可以删除指定的项。
SFGAO_HASPROPSHEET
0x00000040
指定的项具有属性表。
SFGAO_DROPTARGET
0x00000100
指定的项是放置目标。
SFGAO_CAPABILITYMASK
0x00000177
此标志是功能属性的掩码:SFGAO_CANCOPY、SFGAO_CANMOVE、SFGAO_CANLINK、SFGAO_CANRENAME、SFGAO_CANDELETE、SFGAO_HASPROPSHEET和SFGAO_DROPTARGET。 调用方通常不使用此值。
SFGAO_SYSTEM
0x00001000
Windows 7 及更高版本。 指定的项是系统项。
SFGAO_ENCRYPTED
0x00002000
指定的项已加密,可能需要特殊表示。
SFGAO_ISSLOW
0x00004000
通过 IStream 或其他存储接口) 访问项 (是一个缓慢的操作。 应用程序应避免访问使用SFGAO_ISSLOW标记的项。
注意: 打开项的流通常是一个缓慢的操作。 SFGAO_ISSLOW指示预期速度特别慢,例如,在网络连接缓慢或脱机 (FILE_ATTRIBUTE_OFFLINE) 文件时。 但是,查询SFGAO_ISSLOW本身就是一个缓慢的操作。 应用程序应仅在后台线程上查询SFGAO_ISSLOW。 可以使用替代方法(例如检索 PKEY_FileAttributes 属性和测试FILE_ATTRIBUTE_OFFLINE)来代替涉及SFGAO_ISSLOW的方法调用。
SFGAO_GHOSTED
0x00008000
指定的项显示为灰色且对用户不可用。
SFGAO_LINK
0x00010000
指定的项是快捷方式。
SFGAO_SHARE
0x00020000
指定的对象是共享的。
SFGAO_READONLY
0x00040000
指定的项是只读的。 对于文件夹,这意味着不能在这些文件夹中创建新项。 这不应与 SHCOLUMNDATA 结构中由 IColumnProvider::GetItemData 检索的 FILE_ATTRIBUTE_READONLY 标志指定的行为混淆。 FILE_ATTRIBUTE_READONLY对 Win32 文件系统文件夹没有意义。
SFGAO_HIDDEN
0x00080000
该项目是隐藏的,不应显示,除非在文件夹设置中启用了显示隐藏的文件和文件夹选项。
SFGAO_DISPLAYATTRMASK
0x000FC000
请勿使用。
SFGAO_NONENUMERATED
0x00100000
项是无编号项,应隐藏。 它们不是通过枚举器(例如 由 IShellFolder::EnumObjects 方法创建的枚举器)返回的。
SFGAO_NEWCONTENT
0x00200000
项包含由特定应用程序定义的新内容。
SFGAO_CANMONIKER
不支持。
SFGAO_HASSTORAGE
不支持。
SFGAO_STREAM
0x00400000
指示该项具有与其关联的流。 可以通过调用 IShellFolder::BindToObjectIShellItem::BindToHandler 访问该流,并在 riid 参数中IID_IStream。
SFGAO_STORAGEANCESTOR
0x00800000
此项的子级可通过 IStreamIStorage 进行访问。 这些儿童标有SFGAO_STORAGE或SFGAO_STREAM。
SFGAO_VALIDATE
0x01000000
指定为输入时,SFGAO_VALIDATE指示文件夹验证文件夹或 Shell 项数组中包含的项是否存在。 如果其中一个或多个项不存在, IShellFolder::GetAttributesOfIShellItemArray::GetAttributes 将返回失败代码。 此标志永远不会作为 [out] 值返回。
与文件系统文件夹一起使用时,SFGAO_VALIDATE指示文件夹放弃可能已为指定项累积的 IShellFolder2::GetDetailsEx 的客户端检索的缓存属性。
SFGAO_REMOVABLE
0x02000000
指定的项位于可移动媒体上,或本身是可移动设备。
SFGAO_COMPRESSED
0x04000000
压缩指定的项。
SFGAO_BROWSABLE
0x08000000
指定的项可以托管在 Web 浏览器或 Windows 资源管理器框架中。
SFGAO_FILESYSANCESTOR
0x10000000
指定的文件夹是文件系统文件夹,或者至少包含一个子 (子级、孙级或更高版本) ,即文件系统 (SFGAO_FILESYSTEM) 文件夹。
SFGAO_FOLDER
0x20000000
指定的项是文件夹。 某些项可以使用SFGAO_STREAM和SFGAO_FOLDER进行标记,例如具有 .zip 文件扩展名的压缩文件。 在测试同时为文件和容器的项时,某些应用程序可能包含此标志。
SFGAO_FILESYSTEM
0x40000000
指定的文件夹或文件是文件系统 (即,它们是) 的文件、目录或根目录。 可以假定项的已分析名称是有效的 Win32 文件系统路径。 这些路径可以基于 UNC 或驱动器号。
SFGAO_STORAGECAPMASK
0x70C50008
此标志是存储功能属性的掩码:SFGAO_STORAGE、SFGAO_LINK、SFGAO_READONLY、SFGAO_STREAM、SFGAO_STORAGEANCESTOR、SFGAO_FILESYSANCESTOR、SFGAO_FOLDER和SFGAO_FILESYSTEM。 调用方通常不使用此值。
SFGAO_HASSUBFOLDER
0x80000000
指定的文件夹具有子文件夹。 SFGAO_HASSUBFOLDER 属性只是公告,并且可能由 Shell 文件夹实现返回,即使它们不包含子文件夹。 但请注意,相反(无法返回SFGAO_HASSUBFOLDER)明确指出文件夹对象没有子文件夹。
每当需要很长时间来确定是否存在任何子文件夹时,建议返回SFGAO_HASSUBFOLDER。 例如,当文件夹位于网络驱动器上时,Shell 始终返回SFGAO_HASSUBFOLDER。
SFGAO_CONTENTSMASK
0x80000000
此标志是内容属性的掩码,目前仅SFGAO_HASSUBFOLDER。 调用方通常不使用此值。
SFGAO_PKEYSFGAOMASK
0x81044000
PKEY_SFGAOFlags 属性使用的掩码用于确定被认为会导致计算速度缓慢或缺少上下文的属性:SFGAO_ISSLOW、SFGAO_READONLY、SFGAO_HASSUBFOLDER和SFGAO_VALIDATE。 调用方通常不使用此值。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
Header
Shobjidl.h
IDL
Shobjidl.idl

另请参阅

IShellFolder::GetAttributesOf

IShellFolder::P arseDisplayName

IShellItem::GetAttributes

IShellItemArray::GetAttributes