GETPROPERTYSTOREFLAGS enumeration (propsys.h)

Indicates flags that modify the property store object retrieved by methods that create a property store, such as IShellItem2::GetPropertyStore or IPropertyStoreFactory::GetPropertyStore.

Syntax

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
} ;

Constants

 
GPS_DEFAULT
Value: 0
Meaning to a calling process: Return a read-only property store that contains all properties. Slow items (offline files) are not opened.



Combination with other flags: Can be overridden by other flags.
GPS_HANDLERPROPERTIESONLY
Value: 0x1
Meaning to a calling process: Include only properties directly from the property handler, which opens the file on the disk, network, or device.



Meaning to a file folder: Only include properties directly from the handler.

Meaning to other folders: When delegating to a file folder, pass this flag on to the file folder; do not do any multiplexing (MUX). When not delegating to a file folder, ignore this flag instead of returning a failure code.

Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY, or GPS_BESTEFFORT.
GPS_READWRITE
Value: 0x2
Meaning to a calling process: Can write properties to the item. Note: The store may contain fewer properties than a read-only store.



Meaning to a file folder: ReadWrite.

Meaning to other folders: ReadWrite. Note: When using default MUX, return a single unmultiplexed store because the default MUX does not support ReadWrite.

Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_FASTPROPERTIESONLY, GPS_BESTEFFORT, or GPS_DELAYCREATION. Implies GPS_HANDLERPROPERTIESONLY.
GPS_TEMPORARY
Value: 0x4
Meaning to a calling process: Provides a writable store, with no initial properties, that exists for the lifetime of the Shell item instance; basically, a property bag attached to the item instance.



Meaning to a file folder: Not applicable. Handled by the Shell item.

Meaning to other folders: Not applicable. Handled by the Shell item.

Combination with other flags: Cannot be combined with any other flag. Implies GPS_READWRITE.
GPS_FASTPROPERTIESONLY
Value: 0x8
Meaning to a calling process: Provides a store that does not involve reading from the disk or network. Note: Some values may be different, or missing, compared to a store without this flag.



Meaning to a file folder: Include the "innate" and "fallback" stores only. Do not load the handler.

Meaning to other folders: Include only properties that are available in memory or can be computed very quickly (no properties from disk, network, or peripheral IO devices). This is normally only data sources from the IDLIST. When delegating to other folders, pass this flag on to them.

Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE, GPS_HANDLERPROPERTIESONLY, or GPS_DELAYCREATION.
GPS_OPENSLOWITEM
Value: 0x10
Meaning to a calling process: Open a slow item (offline file) if necessary.



Meaning to a file folder: Retrieve a file from offline storage, if necessary. Note: Without this flag, the handler is not created for offline files.

Meaning to other folders: Do not return any properties that are very slow.

Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_FASTPROPERTIESONLY.
GPS_DELAYCREATION
Value: 0x20
Meaning to a calling process: Delay memory-intensive operations, such as file access, until a property is requested that requires such access.



Meaning to a file folder: Do not create the handler until needed; for example, either GetCount/GetAt or GetValue, where the innate store does not satisfy the request. Note: GetValue might fail due to file access problems.

Meaning to other folders: If the folder has memory-intensive properties, such as delegating to a file folder or network access, it can optimize performance by supporting IDelayedPropertyStoreFactory and splitting up its properties into a fast and a slow store. It can then use delayed MUX to recombine them.

Combination with other flags: Cannot be combined with GPS_TEMPORARY or GPS_READWRITE.
GPS_BESTEFFORT
Value: 0x40
Meaning to a calling process: Succeed at getting the store, even if some properties are not returned. Note: Some values may be different, or missing, compared to a store without this flag.



Meaning to a file folder: Succeed and return a store, even if the handler or innate store has an error during creation. Only fail if substores fail.

Meaning to other folders: Succeed on getting the store, even if some properties are not returned.

Combination with other flags: Cannot be combined with GPS_TEMPORARY, GPS_READWRITE, or GPS_HANDLERPROPERTIESONLY.
GPS_NO_OPLOCK
Value: 0x80
Windows 7 and later. Callers should use this flag only if they are already holding an opportunistic lock (oplock) on the file because without an oplock, the bind operation cannot continue. By default, the Shell requests an oplock on a file before binding to the property handler. This flag disables the default behavior.

Windows Server 2008 and Windows Vista:  This flag is not available.
GPS_PREFERQUERYPROPERTIES
Value: 0x100
Windows 8 and later. Use this flag to retrieve only properties from the indexer for WDS results.
GPS_EXTRINSICPROPERTIES
Value: 0x200
Include properties from the file's secondary stream.
GPS_EXTRINSICPROPERTIESONLY
Value: 0x400
Include only properties from the file's secondary stream.
GPS_VOLATILEPROPERTIES
Value: 0x800
GPS_VOLATILEPROPERTIESONLY
Value: 0x1000
GPS_MASK_VALID
Value: 0x1fff
Mask for valid GETPROPERTYSTOREFLAGS values.

Remarks

If the Shell item is a file, the property store contains the following items.

  • Properties from the file system that concern the file.
  • Properties from the file itself that are provided by the file's property handler, unless the file is offline (see GPS_OPENSLOWITEM).
Non-file Shell items return a similar read-only store.
Note  GPS_INCLUDEOFFLINEPROPERTIES has been superseded by GPS_OPENSLOWITEM.
 

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header propsys.h