GETPROPERTYSTOREFLAGS 枚举 (propsys.h)

指示修改由创建属性存储的方法检索的属性存储对象的标志,例如 IShellItem2::GetPropertyStoreIPropertyStoreFactory::GetPropertyStore

语法

typedef enum GETPROPERTYSTOREFLAGS {
  GPS_DEFAULT = 0,
  GPS_HANDLERPROPERTIESONLY = 0x1,
  GPS_READWRITE = 0x2,
  GPS_TEMPORARY = 0x4,
  GPS_FASTPROPERTIESONLY = 0x8,
  GPS_OPENSLOWITEM = 0x10,
  GPS_DELAYCREATION = 0x20,
  GPS_BESTEFFORT = 0x40,
  GPS_NO_OPLOCK = 0x80,
  GPS_PREFERQUERYPROPERTIES = 0x100,
  GPS_EXTRINSICPROPERTIES = 0x200,
  GPS_EXTRINSICPROPERTIESONLY = 0x400,
  GPS_VOLATILEPROPERTIES = 0x800,
  GPS_VOLATILEPROPERTIESONLY = 0x1000,
  GPS_MASK_VALID = 0x1fff
} ;

常量

 
GPS_DEFAULT
值: 0
对调用进程的含义:返回包含所有属性的只读属性存储。 不会打开) 脱机文件 (慢速项。



与其他标志组合:可由其他标志重写。
GPS_HANDLERPROPERTIESONLY
值: 0x1
对调用进程的含义:仅包含直接来自属性处理程序的属性,该处理程序会在磁盘、网络或设备上打开文件。



对文件文件夹的含义:仅包含直接来自处理程序的属性。

对其他文件夹的含义:委托给某个文件夹时,将此标志传递给文件文件夹;不要执行任何多路复用 (MUX) 。 如果未委托给文件夹,请忽略此标志,而不是返回失败代码。

与其他标志的组合:不能与GPS_TEMPORARY、GPS_FASTPROPERTIESONLY或GPS_BESTEFFORT结合使用。
GPS_READWRITE
值: 0x2
对调用进程的含义:可以将属性写入项。 注意:存储区包含的属性可能比只读存储区少。



对文件夹的含义:ReadWrite。

其他文件夹的含义:ReadWrite。 注意:使用默认 MUX 时,返回单个非多路复用存储,因为默认 MUX 不支持 ReadWrite。

与其他标志的组合:不能与GPS_TEMPORARY、GPS_FASTPROPERTIESONLY、GPS_BESTEFFORT或GPS_DELAYCREATION结合使用。 表示GPS_HANDLERPROPERTIESONLY。
GPS_TEMPORARY
值: 0x4
对调用进程的含义:提供在 Shell 项实例的生存期内存在的无初始属性的可写存储;基本上,是附加到项目实例的属性包。



对文件夹的含义:不适用。 由 Shell 项处理。

其他文件夹的含义:不适用。 由 Shell 项处理。

与其他标志组合:不能与其他任何标志组合使用。 表示GPS_READWRITE。
GPS_FASTPROPERTIESONLY
值: 0x8
对调用过程的含义:提供不涉及从磁盘或网络读取的存储。 注意:与不带此标志的存储相比,某些值可能不同或缺失。



文件夹的含义:仅包含“先天”和“回退”存储。 不要加载处理程序。

对其他文件夹的含义:仅包括内存中可用或可以非常快速地计算的属性, (磁盘、网络或外围 IO 设备) 没有属性。 这通常只是 IDLIST 中的数据源。 委托给其他文件夹时,将此标志传递给它们。

与其他标志组合:不能与GPS_TEMPORARY、GPS_READWRITE、GPS_HANDLERPROPERTIESONLY或GPS_DELAYCREATION结合使用。
GPS_OPENSLOWITEM
值: 0x10
对调用进程的意义:如有必要, (脱机文件) 打开慢速项。



对文件文件夹的含义:从脱机存储检索文件(如有必要)。 注意:如果没有此标志,则不会为脱机文件创建处理程序。

对其他文件夹的含义:不返回任何速度非常慢的属性。

与其他标志的组合:不能与GPS_TEMPORARY或GPS_FASTPROPERTIESONLY结合使用。
GPS_DELAYCREATION
值: 0x20
对调用进程的含义:延迟内存密集型操作(如文件访问),直到请求需要此类访问的属性。



对文件文件夹的含义:在需要之前不要创建处理程序;例如, GetCount/GetAtGetValue,其中先天存储不满足请求。 注意: GetValue 可能因文件访问问题而失败。

对其他文件夹的意义:如果文件夹具有内存密集型属性(例如委托给文件夹或网络访问),它可以通过支持 IDelayedPropertyStoreFactory 并将其属性拆分为快速和慢速存储来优化性能。 然后,它可以使用延迟的 MUX 来重新组合它们。

与其他标志的组合:不能与GPS_TEMPORARY或GPS_READWRITE结合使用。
GPS_BESTEFFORT
值: 0x40
对调用过程的含义:即使未返回某些属性,也能成功获取存储。 注意:与不带此标志的存储相比,某些值可能不同或缺失。



对文件夹的含义:成功并返回存储,即使处理程序或固有存储区在创建过程中出错也是如此。 仅当子存储失败时才会失败。

对其他文件夹的含义:即使未返回某些属性,也能成功获取存储。

与其他标志的组合:不能与GPS_TEMPORARY、GPS_READWRITE或GPS_HANDLERPROPERTIESONLY结合使用。
GPS_NO_OPLOCK
值: 0x80
Windows 7 及更高版本。 仅当调用方已在文件上持有 oplock (oplock) 的机会性锁时,才应使用此标志,因为如果没有 oplock,绑定操作将无法继续。 默认情况下,Shell 在绑定到属性处理程序之前请求文件上的 oplock。 此标志禁用默认行为。

Windows Server 2008 和 Windows Vista: 此标志不可用。
GPS_PREFERQUERYPROPERTIES
值: 0x100
Windows 8 及更高版本。 使用此标志仅从索引器检索 WDS 结果的属性。
GPS_EXTRINSICPROPERTIES
值: 0x200
包含文件的辅助流中的属性。
GPS_EXTRINSICPROPERTIESONLY
值: 0x400
仅包含文件的辅助流中的属性。
GPS_VOLATILEPROPERTIES
值: 0x800
GPS_VOLATILEPROPERTIESONLY
值: 0x1000
GPS_MASK_VALID
值: 0x1fff
有效 GETPROPERTYSTOREFLAGS 值的掩码。

注解

如果 Shell 项是文件,则属性存储区包含以下项。

  • 文件系统中与文件相关的属性。
  • 文件的属性处理程序提供的文件本身的属性,除非文件处于脱机状态, (请参阅GPS_OPENSLOWITEM) 。
非文件 Shell 项返回类似的只读存储。
注意 GPS_INCLUDEOFFLINEPROPERTIES已被GPS_OPENSLOWITEM取代。
 

要求

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