From c2ff23feed3910e4c41ae73c86819120f6f5a714 Mon Sep 17 00:00:00 2001 From: Markus Hofknecht Date: Thu, 4 Jul 2019 21:51:18 +0200 Subject: [PATCH] added ThirdParty --- Properties/AssemblyInfo.cs | 4 +- SystemTrayMenu.csproj | 15 +- ThirdParty/Clearcove.Logging.dll | Bin 0 -> 8192 bytes .../Microsoft.WindowsAPICodePack.Shell.XML | 25496 ++++++++++++++++ .../Microsoft.WindowsAPICodePack.Shell.dll | Bin 0 -> 563200 bytes ThirdParty/TAFactory.IconPack.dll | Bin 0 -> 36864 bytes 6 files changed, 25507 insertions(+), 8 deletions(-) create mode 100644 ThirdParty/Clearcove.Logging.dll create mode 100644 ThirdParty/Microsoft.WindowsAPICodePack.Shell.XML create mode 100644 ThirdParty/Microsoft.WindowsAPICodePack.Shell.dll create mode 100644 ThirdParty/TAFactory.IconPack.dll diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index c09064b..6a2dfb4 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.9.1.233")] -[assembly: AssemblyFileVersion("0.9.1.233")] +[assembly: AssemblyVersion("0.9.1.234")] +[assembly: AssemblyFileVersion("0.9.1.234")] diff --git a/SystemTrayMenu.csproj b/SystemTrayMenu.csproj index 388ee23..8196379 100644 --- a/SystemTrayMenu.csproj +++ b/SystemTrayMenu.csproj @@ -58,11 +58,13 @@ Resources\SystemTrayMenu.ico - - ..\CodeProjects\SimpleLogger\SimpleLogger\Clearcove.Logging\bin\Debug\Clearcove.Logging.dll + + False + ThirdParty\Clearcove.Logging.dll - - ..\ThirdParty\Windows-API-Code-Pack-1.1-master\source\WindowsAPICodePack\Shell\bin\Debug\Microsoft.WindowsAPICodePack.Shell.dll + + False + ThirdParty\Microsoft.WindowsAPICodePack.Shell.dll @@ -74,8 +76,9 @@ - - ..\CodeProjects\IconPack\TAFactory.IconPack.dll + + False + ThirdParty\TAFactory.IconPack.dll diff --git a/ThirdParty/Clearcove.Logging.dll b/ThirdParty/Clearcove.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..269e6096559eeb416409e0f09e0500cb974f741c GIT binary patch literal 8192 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 + + + Microsoft.WindowsAPICodePack.Shell + + + + + Provides extension methods for raising events safely. + + + + + Safely raises an event using EventArgs.Empty + + EventHandler to raise + Event sender + + + + Safely raises an event. + + Type of event args + EventHandler<T> to raise + Event sender + Event args + + + + Safely raises an event using EventArgs.Empty + + EventHandler<EventArgs> to raise + Event sender + + + + A wrapper for the native POINT structure. + + + + + Initialize the NativePoint + + The x coordinate of the point. + The y coordinate of the point. + + + + The X coordinate of the point + + + + + The Y coordinate of the point + + + + + Determines if two NativePoints are equal. + + First NativePoint + Second NativePoint + True if first NativePoint is equal to the second; false otherwise. + + + + Determines if two NativePoints are not equal. + + First NativePoint + Second NativePoint + True if first NativePoint is not equal to the second; false otherwise. + + + + Determines if this NativePoint is equal to another. + + Another NativePoint to compare + True if this NativePoint is equal obj; false otherwise. + + + + Gets a hash code for the NativePoint. + + Hash code for the NativePoint + + + + A wrapper for a RECT struct + + + + + Position of left edge + + + + + Position of top edge + + + + + Position of right edge + + + + + Position of bottom edge + + + + + Creates a new NativeRect initialized with supplied values. + + Position of left edge + Position of top edge + Position of right edge + Position of bottom edge + + + + Determines if two NativeRects are equal. + + First NativeRect + Second NativeRect + True if first NativeRect is equal to second; false otherwise. + + + + Determines if two NativeRects are not equal + + First NativeRect + Second NativeRect + True if first is not equal to second; false otherwise. + + + + Determines if the NativeRect is equal to another Rect. + + Another NativeRect to compare + True if this NativeRect is equal to the one provided; false otherwise. + + + + Creates a hash code for the NativeRect + + Returns hash code for this NativeRect + + + + An exception thrown when an error occurs while dealing with ShellObjects. + + + + + Default constructor. + + + + + Initializes a new exception using an HResult + + HResult error + + + + Initializes an excpetion with a custom message. + + Custom message + + + + Initializes an exception with custom message and inner exception. + + Custom message + The original exception that preceded this exception + + + + Initializes an exception with custom message and error code. + + Custom message + HResult error code + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception with custom message and inner exception. + + HRESULT of an operation + + + + Initializes an exception from serialization info and a context. + + + + + + + A folder in the Shell Namespace + + + + + Constructs a new ShellFileSystemFolder object given a folder path + + The folder path + ShellFileSystemFolder created from the given folder path. + + + + The path for this Folder + + + + + A refence to an icon resource + + + + + Overloaded constructor takes in the module name and resource id for the icon reference. + + String specifying the name of an executable file, DLL, or icon file + Zero-based index of the icon + + + + Overloaded constructor takes in the module name and resource id separated by a comma. + + Reference path for the icon consiting of the module name and resource id. + + + + String specifying the name of an executable file, DLL, or icon file + + + + + Zero-based index of the icon + + + + + Reference to a specific icon within a EXE, DLL or icon file. + + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if icon1 equals icon1; false otherwise. + + + + Implements the != (unequality) operator. + + First object to compare. + Second object to compare. + True if icon1 does not equals icon1; false otherwise. + + + + Determines if this object is equal to another. + + The object to compare + Returns true if the objects are equal; false otherwise. + + + + Generates a nearly unique hashcode for this structure. + + A hash code. + + + + Exposes properties and methods for retrieving information about a search condition. + + + + + The name of a property to be compared or NULL for an unspecified property. + + + + + The property key for the property that is to be compared. + + + + + A value (in format) to which the property is compared. + + + + + Search condition operation to be performed on the property/value combination. + See for more details. + + + + + Represents the condition type for the given node. + + + + + Retrieves an array of the sub-conditions. + + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + Provides methods for creating or resolving a condition tree + that was obtained by parsing a query string. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The constant value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + Overload method takes a DateTime parameter for the comparison value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The DateTime value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Integer value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Integer value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Boolean value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Boolean value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Floating Point value. + + The name of a property to be compared, or null for an unspecified property. + The locale name of the leaf node is LOCALE_NAME_USER_DEFAULT. + The Floating Point value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + + The property to be compared. + The constant value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and constant value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The DateTime value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Boolean value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The boolean value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Floating Point value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The Floating Point value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a leaf condition node that represents a comparison of property value and Integer value. + Overload method takes a DateTime parameter for the comparison value. + + The property to be compared. + The Integer value against which the property value should be compared. + Specific condition to be used when comparing the actual value and the expected value of the given property + SearchCondition based on the given parameters + + The search will only work for files that are indexed, as well as the specific properties are indexed. To find + the properties that are indexed, look for the specific property's property description and + property for IsQueryable flag. + + + + + Creates a condition node that is a logical conjunction ("AND") or disjunction ("OR") + of a collection of subconditions. + + The SearchConditionType of the condition node. + Must be either AndCondition or OrCondition. + TRUE to logically simplify the result, if possible; + then the result will not necessarily to be of the specified kind. FALSE if the result should + have exactly the prescribed structure. An application that plans to execute a query based on the + condition tree would typically benefit from setting this parameter to TRUE. + Array of subconditions + New SearchCondition based on the operation + + + + Creates a condition node that is a logical negation (NOT) of another condition + (a subnode of this node). + + SearchCondition node to be negated. + True to logically simplify the result if possible; False otherwise. + In a query builder scenario, simplyfy should typically be set to false. + New SearchCondition + + + + Parses an input string that contains Structured Query keywords (using Advanced Query Syntax + or Natural Query Syntax) and produces a SearchCondition object. + + The query to be parsed + Search condition resulting from the query + For more information on structured query syntax, visit http://msdn.microsoft.com/en-us/library/bb233500.aspx and + http://www.microsoft.com/windows/products/winfamily/desktopsearch/technicalresources/advquery.mspx + + + + Parses an input string that contains Structured Query keywords (using Advanced Query Syntax + or Natural Query Syntax) and produces a SearchCondition object. + + The query to be parsed + The culture used to select the localized language for keywords. + Search condition resulting from the query + For more information on structured query syntax, visit http://msdn.microsoft.com/en-us/library/bb233500.aspx and + http://www.microsoft.com/windows/products/winfamily/desktopsearch/technicalresources/advquery.mspx + + + + Create and modify search folders. + + + + + Create a simple search folder. Once the appropriate parameters are set, + the search folder can be enumerated to get the search results. + + Specific condition on which to perform the search (property and expected value) + List of folders/paths to perform the search on. These locations need to be indexed by the system. + + + + Create a simple search folder. Once the appropiate parameters are set, + the search folder can be enumerated to get the search results. + + Specific condition on which to perform the search (property and expected value) + List of folders/paths to perform the search on. These locations need to be indexed by the system. + + + + Gets the of the search. + When this property is not set, the resulting search will have no filters applied. + + + + + Gets the search scope, as specified using an array of locations to search. + The search will include this location and all its subcontainers. The default is FOLDERID_Profile + + + + + Creates a list of stack keys, as specified. If this method is not called, + by default the folder will not be stacked. + + Array of canonical names for properties on which the folder is stacked. + If one of the given canonical names is invalid. + + + + Creates a list of stack keys, as specified. If this method is not called, + by default the folder will not be stacked. + + Array of property keys on which the folder is stacked. + + + + Sets the search folder display name. + + + + + Sets the search folder icon size. + The default settings are based on the FolderTypeID which is set by the + SearchFolder::SetFolderTypeID method. + + + + + Sets a search folder type ID, as specified. + + + + + Sets folder logical view mode. The default settings are based on the FolderTypeID which is set + by the SearchFolder::SetFolderTypeID method. + + The logical view mode to set. + + + + Creates a new column list whose columns are all visible, + given an array of PropertyKey structures. The default is based on FolderTypeID. + + This property may not work correctly with the ExplorerBrowser control. + + + + Creates a list of sort column directions, as specified. + + This property may not work correctly with the ExplorerBrowser control. + + + + Sets a group column, as specified. If no group column is specified, no grouping occurs. + + This property may not work correctly with the ExplorerBrowser control. + + + + A file in the Shell Namespace + + + + + Constructs a new ShellFile object given a file path + + The file or folder path + ShellFile object created using given file path. + + + + The path for this file + + + + + Represents the base class for all types of folders (filesystem and non filesystem) + + + + + + + + + + + + + + + + A helper class for Shell Objects + + + + + Creates a ShellObject given a native IShellItem interface + + + A newly constructed ShellObject object + + + + Creates a ShellObject given a parsing name + + + A newly constructed ShellObject object + + + + Constructs a new Shell object from IDList pointer + + + + + + + Constructs a new Shell object from IDList pointer + + + + + + + + Represents a thumbnail or an icon for a ShellObject. + + + + + Native shellItem + + + + + Internal member to keep track of the current size + + + + + Internal constructor that takes in a parent ShellObject. + + + + + + Gets or sets the default size of the thumbnail or icon. The default is 32x32 pixels for icons and + 256x256 pixels for thumbnails. + + If the size specified is larger than the maximum size of 1024x1024 for thumbnails and 256x256 for icons, + an is thrown. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon image in format. + Null is returned if the ShellObject does not have a thumbnail or icon image. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in small size and format. + + + + + Gets the thumbnail or icon in Medium size and format. + + + + + Gets the thumbnail or icon in medium size and format. + + + + + Gets the thumbnail or icon in Medium size and format. + + + + + Gets the thumbnail or icon in large size and format. + + + + + Gets the thumbnail or icon in large size and format. + + + + + Gets the thumbnail or icon in Large size and format. + + + + + Gets the thumbnail or icon in extra large size and format. + + + + + Gets the thumbnail or icon in Extra Large size and format. + + + + + Gets the thumbnail or icon in Extra Large size and format. + + + + + Gets or sets a value that determines if the current retrieval option is cache or extract, cache only, or from memory only. + The default is cache or extract. + + + + + Gets or sets a value that determines if the current format option is thumbnail or icon, thumbnail only, or icon only. + The default is thumbnail or icon. + + + + + Gets or sets a value that determines if the user can manually stretch the returned image. + The default value is false. + + + For example, if the caller passes in 80x80 a 96x96 thumbnail could be returned. + This could be used as a performance optimization if the caller will need to stretch + the image themselves anyway. Note that the Shell implementation performs a GDI stretch blit. + If the caller wants a higher quality image stretch, they should pass this flag and do it themselves. + + + + + An ennumerable list of ShellObjects + + + + + Creates a ShellObject collection from an IShellItemArray + + IShellItemArray pointer + Indicates whether the collection shouldbe read-only or not + + + + Creates a ShellObjectCollection from an IDataObject passed during Drop operation. + + An object that implements the IDataObject COM interface. + ShellObjectCollection created from the given IDataObject + + + + Constructs an empty ShellObjectCollection + + + + + Finalizer + + + + + Standard Dispose pattern + + + + + Standard Dispose patterns + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Item count + + + + + Collection enumeration + + + + + + Builds the data for the CFSTR_SHELLIDLIST Drag and Clipboard data format from the + ShellObjects in the collection. + + A memory stream containing the drag/drop data. + + + + Returns the index of a particualr shell object in the collection + + The item to search for. + The index of the item found, or -1 if not found. + + + + Inserts a new shell object into the collection. + + The index at which to insert. + The item to insert. + + + + Removes the specified ShellObject from the collection + + The index to remove at. + + + + The collection indexer + + The index of the item to retrieve. + The ShellObject at the specified index + + + + Adds a ShellObject to the collection, + + The ShellObject to add. + + + + Clears the collection of ShellObjects. + + + + + Determines if the collection contains a particular ShellObject. + + The ShellObject. + true, if the ShellObject is in the list, false otherwise. + + + + Copies the ShellObjects in the collection to a ShellObject array. + + The destination to copy to. + The index into the array at which copying will commence. + + + + Retrieves the number of ShellObjects in the collection + + + + + If true, the contents of the collection are immutable. + + + + + Removes a particular ShellObject from the list. + + The ShellObject to remove. + True if the item could be removed, false otherwise. + + + + Allows for enumeration through the list of ShellObjects in the collection. + + The IEnumerator interface to use for enumeration. + + + + Defines the read-only properties for default shell icon sizes. + + + + + The small size property for a 16x16 pixel Shell Icon. + + + + + The medium size property for a 32x32 pixel Shell Icon. + + + + + The large size property for a 48x48 pixel Shell Icon. + + + + + The extra-large size property for a 256x256 pixel Shell Icon. + + + + + The maximum size for a Shell Icon, 256x256 pixels. + + + + + Defines the read-only properties for default shell thumbnail sizes. + + + + + Gets the small size property for a 32x32 pixel Shell Thumbnail. + + + + + Gets the medium size property for a 96x96 pixel Shell Thumbnail. + + + + + Gets the large size property for a 256x256 pixel Shell Thumbnail. + + + + + Gets the extra-large size property for a 1024x1024 pixel Shell Thumbnail. + + + + + Maximum size for the Shell Thumbnail, 1024x1024 pixels. + + + + + Stores information about how to sort a column that is displayed in the folder view. + + + + + Creates a sort column with the specified direction for the given property. + + Property key for the property that the user will sort. + The direction in which the items are sorted. + + + + The ID of the column by which the user will sort. A PropertyKey structure. + For example, for the "Name" column, the property key is PKEY_ItemNameDisplay or + . + + + + + The direction in which the items are sorted. + + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if col1 equals col2; false otherwise. + + + + Implements the != (unequality) operator. + + First object to compare. + Second object to compare. + True if col1 does not equals col1; false otherwise. + + + + Determines if this object is equal to another. + + The object to compare + Returns true if the objects are equal; false otherwise. + + + + Generates a nearly unique hashcode for this structure. + + A hash code. + + + + Event argument for The GlassAvailabilityChanged event + + + + + The new GlassAvailable state + + + + + Windows Glass Form + Inherit from this form to be able to enable glass on Windows Form + + + + + Get determines if AeroGlass is enabled on the desktop. Set enables/disables AreoGlass on the desktop. + + + + + Fires when the availability of Glass effect changes. + + + + + Makes the background of current window transparent + + + + + Excludes a Control from the AeroGlass frame. + + The control to exclude. + Many non-WPF rendered controls (i.e., the ExplorerBrowser control) will not + render properly on top of an AeroGlass frame. + + + + Resets the AeroGlass exclusion area. + + + + + Catches the DWM messages to this window and fires the appropriate event. + + + + + + Initializes the Form for AeroGlass + + The arguments for this event + + + + Overide OnPaint to paint the background as black. + + PaintEventArgs + + + + WPF Glass Window + Inherit from this window class to enable glass on a WPF window + + + + + Get determines if AeroGlass is enabled on the desktop. Set enables/disables AreoGlass on the desktop. + + + + + Fires when the availability of Glass effect changes. + + + + + Makes the background of current window transparent from both Wpf and Windows Perspective + + + + + Excludes a UI element from the AeroGlass frame. + + The element to exclude. + Many non-WPF rendered controls (i.e., the ExplorerBrowser control) will not + render properly on top of an AeroGlass frame. + + + + Resets the AeroGlass exclusion area. + + + + + OnSourceInitialized + Override SourceInitialized to initialize windowHandle for this window. + A valid windowHandle is available only after the sourceInitialized is completed + + EventArgs + + + + The STGM constants are flags that indicate + conditions for creating and deleting the object and access modes + for the object. + + You can combine these flags, but you can only choose one flag + from each group of related flags. Typically one flag from each + of the access and sharing groups must be specified for all + functions and methods which use these constants. + + + + + Indicates that, in direct mode, each change to a storage + or stream element is written as it occurs. + + + + + Indicates that, in transacted mode, changes are buffered + and written only if an explicit commit operation is called. + + + + + Provides a faster implementation of a compound file + in a limited, but frequently used, case. + + + + + Indicates that the object is read-only, + meaning that modifications cannot be made. + + + + + Enables you to save changes to the object, + but does not permit access to its data. + + + + + Enables access and modification of object data. + + + + + Specifies that subsequent openings of the object are + not denied read or write access. + + + + + Prevents others from subsequently opening the object in Read mode. + + + + + Prevents others from subsequently opening the object + for Write or ReadWrite access. + + + + + Prevents others from subsequently opening the object in any mode. + + + + + Opens the storage object with exclusive access to the most + recently committed version. + + + + + Indicates that the underlying file is to be automatically destroyed when the root + storage object is released. This feature is most useful for creating temporary files. + + + + + Indicates that, in transacted mode, a temporary scratch file is usually used + to save modifications until the Commit method is called. + Specifying NoScratch permits the unused portion of the original file + to be used as work space instead of creating a new file for that purpose. + + + + + Indicates that an existing storage object + or stream should be removed before the new object replaces it. + + + + + Creates the new object while preserving existing data in a stream named "Contents". + + + + + Causes the create operation to fail if an existing object with the specified name exists. + + + + + This flag is used when opening a storage object with Transacted + and without ShareExclusive or ShareDenyWrite. + In this case, specifying NoSnapshot prevents the system-provided + implementation from creating a snapshot copy of the file. + Instead, changes to the file are written to the end of the file. + + + + + Supports direct mode for single-writer, multireader file operations. + + + + + Wraps the native Windows MSG structure. + + + + + Gets the window handle + + + + + Gets the window message + + + + + Gets the WParam + + + + + Gets the LParam + + + + + Gets the time + + + + + Gets the point + + + + + Creates a new instance of the Message struct + + Window handle + Message + WParam + LParam + Time + Point + + + + Determines if two messages are equal. + + First message + Second message + True if first and second message are equal; false otherwise. + + + + Determines if two messages are not equal. + + First message + Second message + True if first and second message are not equal; false otherwise. + + + + Determines if this message is equal to another. + + Another message + True if this message is equal argument; false otherwise. + + + + Gets a hash code for the message. + + Hash code for this message. + + + + An exception thrown when an error occurs while dealing with the Property System API. + + + + + Default constructor. + + + + + Initializes an excpetion with a custom message. + + + + + + Initializes an exception with custom message and inner exception. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception from serialization info and a context. + + + + + + + An in-memory property store cache + + + + + Gets the state of a property stored in the cache + + + + + + + + Gets the valeu and state of a property in the cache + + + + + + + + + Sets the state of a property in the cache. + + + + + + + + Sets the value and state in the cache. + + + + + + + + + A property store + + + + + Gets the number of properties contained in the property store. + + + + + + + Get a property key located at a specific index. + + + + + + + + Gets the value of a property from the store + + + + + + + + Sets the value of a property in the store + + + + + + + + Commits the changes. + + + + + + Defines a partial class that implements helper methods for retrieving Shell properties + using a canonical name, property key, or a strongly-typed property. Also provides + access to all the strongly-typed system properties and default properties collections. + + + + + Returns a property available in the default property collection using + the given property key. + + The property key. + An IShellProperty. + + + + Returns a property available in the default property collection using + the given canonical name. + + The canonical name. + An IShellProperty. + + + + Returns a strongly typed property available in the default property collection using + the given property key. + + The type of property to retrieve. + The property key. + A strongly-typed ShellProperty for the given property key. + + + + Returns a strongly typed property available in the default property collection using + the given canonical name. + + The type of property to retrieve. + The canonical name. + A strongly-typed ShellProperty for the given canonical name. + + + + Gets all the properties for the system through an accessor. + + + + + Gets the collection of all the default properties for this item. + + + + + Returns the shell property writer used when writing multiple properties. + + A ShellPropertyWriter. + Use the Using pattern with the returned ShellPropertyWriter or + manually call the Close method on the writer to commit the changes + and dispose the writer + + + + Cleans up memory + + + + + Cleans up memory + + + + + .System Properties + + + + + Name: System.AcquisitionID -- PKEY_AcquisitionID + Description: Hash to determine acquisition session. + + Type: Int32 -- VT_I4 + FormatID: {65A98875-3C80-40AB-ABBC-EFDAF77DBEE2}, 100 + + + + + Name: System.ApplicationName -- PKEY_ApplicationName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 18 (PIDSI_APPNAME) + + + + + Name: System.Author -- PKEY_Author + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 4 (PIDSI_AUTHOR) + + + + + Name: System.Capacity -- PKEY_Capacity + Description: The amount of total space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 3 (PID_VOLUME_CAPACITY) (Filesystem Volume Properties) + + + + + Name: System.Category -- PKEY_Category + Description: Legacy code treats this as VT_LPSTR. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 2 (PIDDSI_CATEGORY) + + + + + Name: System.Comment -- PKEY_Comment + Description: Comments. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 6 (PIDSI_COMMENTS) + + + + + Name: System.Company -- PKEY_Company + Description: The company or publisher. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 15 (PIDDSI_COMPANY) + + + + + Name: System.ComputerName -- PKEY_ComputerName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 5 (PID_COMPUTERNAME) + + + + + Name: System.ContainedItems -- PKEY_ContainedItems + Description: The list of type of items, this item contains. For example, this item contains urls, attachments etc. + This is represented as a vector array of GUIDs where each GUID represents certain type. + + Type: Multivalue Guid -- VT_VECTOR | VT_CLSID (For variants: VT_ARRAY | VT_CLSID) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 29 + + + + + Name: System.ContentStatus -- PKEY_ContentStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 27 + + + + + Name: System.ContentType -- PKEY_ContentType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 26 + + + + + Name: System.Copyright -- PKEY_Copyright + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 11 (PIDMSI_COPYRIGHT) + + + + + Name: System.DateAccessed -- PKEY_DateAccessed + Description: The time of the last access to the item. The Indexing Service friendly name is 'access'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 16 (PID_STG_ACCESSTIME) + + + + + Name: System.DateAcquired -- PKEY_DateAcquired + Description: The time the file entered the system via acquisition. This is not the same as System.DateImported. + Examples are when pictures are acquired from a camera, or when music is purchased online. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2CBAA8F5-D81F-47CA-B17A-F8D822300131}, 100 + + + + + Name: System.DateArchived -- PKEY_DateArchived + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {43F8D7B7-A444-4F87-9383-52271C9B915C}, 100 + + + + + Name: System.DateCompleted -- PKEY_DateCompleted + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FAB781-ACDA-43E5-B155-B2434F85E678}, 100 + + + + + Name: System.DateCreated -- PKEY_DateCreated + Description: The date and time the item was created. The Indexing Service friendly name is 'create'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 15 (PID_STG_CREATETIME) + + + + + Name: System.DateImported -- PKEY_DateImported + Description: The time the file is imported into a separate database. This is not the same as System.DateAcquired. (Eg, 2003:05:22 13:55:04) + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18258 + + + + + Name: System.DateModified -- PKEY_DateModified + Description: The date and time of the last write to the item. The Indexing Service friendly name is 'write'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 14 (PID_STG_WRITETIME) + + + + + Name: System.DescriptionID -- PKEY_DescriptionID + Description: The contents of a SHDESCRIPTIONID structure as a buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 2 (PID_DESCRIPTIONID) + + + + + Name: System.DueDate -- PKEY_DueDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3F8472B5-E0AF-4DB2-8071-C53FE76AE7CE}, 100 + + + + + Name: System.EndDate -- PKEY_EndDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {C75FAA05-96FD-49E7-9CB4-9F601082D553}, 100 + + + + + Name: System.FileAllocationSize -- PKEY_FileAllocationSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 18 (PID_STG_ALLOCSIZE) + + + + + Name: System.FileAttributes -- PKEY_FileAttributes + Description: This is the WIN32_FIND_DATA dwFileAttributes for the file-based item. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 13 (PID_STG_ATTRIBUTES) + + + + + Name: System.FileCount -- PKEY_FileCount + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 12 + + + + + Name: System.FileDescription -- PKEY_FileDescription + Description: This is a user-friendly description of the file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 3 (PIDVSI_FileDescription) + + + + + Name: System.FileExtension -- PKEY_FileExtension + Description: This is the file extension of the file based item, including the leading period. + + If System.FileName is VT_EMPTY, then this property should be too. Otherwise, it should be derived + appropriately by the data source from System.FileName. If System.FileName does not have a file + extension, this value should be VT_EMPTY. + + To obtain the type of any item (including an item that is not a file), use System.ItemType. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\numbers.xls" ".xls" + "\\server\share\folder" VT_EMPTY + "c:\foo\MyFolder" VT_EMPTY + [desktop] VT_EMPTY + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E4F10A3C-49E6-405D-8288-A23BD4EEAA6C}, 100 + + + + + Name: System.FileFRN -- PKEY_FileFRN + Description: This is the unique file ID, also known as the File Reference Number. For a given file, this is the same value + as is found in the structure variable FILE_ID_BOTH_DIR_INFO.FileId, via GetFileInformationByHandleEx(). + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 21 (PID_STG_FRN) + + + + + Name: System.FileName -- PKEY_FileName + Description: This is the file name (including extension) of the file. + + It is possible that the item might not exist on a filesystem (ie, it may not be opened + using CreateFile). Nonetheless, if the item is represented as a file from the logical sense + (and its name follows standard Win32 file-naming syntax), then the data source should emit this property. + + If an item is not a file, then the value for this property is VT_EMPTY. See + System.ItemNameDisplay. + + This has the same value as System.ParsingName for items that are provided by the Shell's file folder. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello.txt" + "\\server\share\mydir\goodnews.doc" "goodnews.doc" + "\\server\share\numbers.xls" "numbers.xls" + "c:\foo\MyFolder" "MyFolder" + (email message) VT_EMPTY + (song on portable device) "song.wma" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {41CF5AE0-F75A-4806-BD87-59C7D9248EB9}, 100 + + + + + Name: System.FileOwner -- PKEY_FileOwner + Description: This is the owner of the file, according to the file system. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Misc) {9B174B34-40FF-11D2-A27E-00C04FC30871}, 4 (PID_MISC_OWNER) + + + + + Name: System.FileVersion -- PKEY_FileVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 4 (PIDVSI_FileVersion) + + + + + Name: System.FindData -- PKEY_FindData + Description: WIN32_FIND_DATAW in buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 0 (PID_FINDDATA) + + + + + Name: System.FlagColor -- PKEY_FlagColor + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {67DF94DE-0CA7-4D6F-B792-053A3E4F03CF}, 100 + + + + + Name: System.FlagColorText -- PKEY_FlagColorText + Description: This is the user-friendly form of System.FlagColor. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {45EAE747-8E2A-40AE-8CBF-CA52ABA6152A}, 100 + + + + + Name: System.FlagStatus -- PKEY_FlagStatus + Description: Status of Flag. Values: (0=none 1=white 2=Red). cdoPR_FLAG_STATUS + + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 12 + + + + + Name: System.FlagStatusText -- PKEY_FlagStatusText + Description: This is the user-friendly form of System.FlagStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC54FD2E-189D-4871-AA01-08C2F57A4ABC}, 100 + + + + + Name: System.FreeSpace -- PKEY_FreeSpace + Description: The amount of free space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 2 (PID_VOLUME_FREE) (Filesystem Volume Properties) + + + + + Name: System.FullText -- PKEY_FullText + Description: This PKEY is used to specify search terms that should be applied as broadly as possible, + across all valid properties for the data source(s) being searched. It should not be + emitted from a data source. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 6 + + + + + Name: System.Identity -- PKEY_Identity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A26F4AFC-7346-4299-BE47-EB1AE613139F}, 100 + + + + + Name: System.ImageParsingName -- PKEY_ImageParsingName + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D7750EE0-C6A4-48EC-B53E-B87B52E6D073}, 100 + + + + + Name: System.Importance -- PKEY_Importance + Description: + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 11 + + + + + Name: System.ImportanceText -- PKEY_ImportanceText + Description: This is the user-friendly form of System.Importance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A3B29791-7713-4E1D-BB40-17DB85F01831}, 100 + + + + + Name: System.InfoTipText -- PKEY_InfoTipText + Description: The text (with formatted property values) to show in the infotip. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 17 + + + + + Name: System.InternalName -- PKEY_InternalName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 5 (PIDVSI_InternalName) + + + + + Name: System.IsAttachment -- PKEY_IsAttachment + Description: Identifies if this item is an attachment. + + Type: Boolean -- VT_BOOL + FormatID: {F23F425C-71A1-4FA8-922F-678EA4A60408}, 100 + + + + + Name: System.IsDefaultNonOwnerSaveLocation -- PKEY_IsDefaultNonOwnerSaveLocation + Description: Identifies the default save location for a library for non-owners of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 5 + + + + + Name: System.IsDefaultSaveLocation -- PKEY_IsDefaultSaveLocation + Description: Identifies the default save location for a library for the owner of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 3 + + + + + Name: System.IsDeleted -- PKEY_IsDeleted + Description: + Type: Boolean -- VT_BOOL + FormatID: {5CDA5FC8-33EE-4FF3-9094-AE7BD8868C4D}, 100 + + + + + Name: System.IsEncrypted -- PKEY_IsEncrypted + Description: Is the item encrypted? + + Type: Boolean -- VT_BOOL + FormatID: {90E5E14E-648B-4826-B2AA-ACAF790E3513}, 10 + + + + + Name: System.IsFlagged -- PKEY_IsFlagged + Description: + Type: Boolean -- VT_BOOL + FormatID: {5DA84765-E3FF-4278-86B0-A27967FBDD03}, 100 + + + + + Name: System.IsFlaggedComplete -- PKEY_IsFlaggedComplete + Description: + Type: Boolean -- VT_BOOL + FormatID: {A6F360D2-55F9-48DE-B909-620E090A647C}, 100 + + + + + Name: System.IsIncomplete -- PKEY_IsIncomplete + Description: Identifies if the message was not completely received for some error condition. + + Type: Boolean -- VT_BOOL + FormatID: {346C8BD1-2E6A-4C45-89A4-61B78E8E700F}, 100 + + + + + Name: System.IsLocationSupported -- PKEY_IsLocationSupported + Description: A bool value to know if a location is supported (locally indexable, or remotely indexed). + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 8 + + + + + Name: System.IsPinnedToNameSpaceTree -- PKEY_IsPinnedToNameSpaceTree + Description: A bool value to know if a shell folder is pinned to the navigation pane + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 2 + + + + + Name: System.IsRead -- PKEY_IsRead + Description: Has the item been read? + + Type: Boolean -- VT_BOOL + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 10 + + + + + Name: System.IsSearchOnlyItem -- PKEY_IsSearchOnlyItem + Description: Identifies if a location or a library is search only + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 4 + + + + + Name: System.IsSendToTarget -- PKEY_IsSendToTarget + Description: Provided by certain shell folders. Return TRUE if the folder is a valid Send To target. + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 33 + + + + + Name: System.IsShared -- PKEY_IsShared + Description: Is this item shared? This only checks for ACLs that are not inherited. + + Type: Boolean -- VT_BOOL + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 100 + + + + + Name: System.ItemAuthors -- PKEY_ItemAuthors + Description: This is the generic list of authors associated with an item. + + For example, the artist name for a track is the item author. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D0A04F0A-462A-48A4-BB2F-3706E88DBD7D}, 100 + + + + + Name: System.ItemClassType -- PKEY_ItemClassType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {048658AD-2DB8-41A4-BBB6-AC1EF1207EB1}, 100 + + + + + Name: System.ItemDate -- PKEY_ItemDate + Description: This is the main date for an item. The date of interest. + + For example, for photos this maps to System.Photo.DateTaken. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {F7DB74B4-4287-4103-AFBA-F1B13DCD75CF}, 100 + + + + + Name: System.ItemFolderNameDisplay -- PKEY_ItemFolderNameDisplay + Description: This is the user-friendly display name of the parent folder of an item. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it + should be derived appropriately by the data source from System.ItemFolderPathDisplay. + + If the folder is a file folder, the value will be localized if a localized name is available. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar" + "\\server\share\mydir\goodnews.doc" "mydir" + "\\server\share\numbers.xls" "share" + "c:\foo\MyFolder" "foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 2 (PID_STG_DIRECTORY) + + + + + Name: System.ItemFolderPathDisplay -- PKEY_ItemFolderPathDisplay + Description: This is the user-friendly display path of the parent folder of an item. + + If System.ItemPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir" + "\\server\share\numbers.xls" "\\server\share" + "c:\foo\MyFolder" "c:\foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 6 + + + + + Name: System.ItemFolderPathDisplayNarrow -- PKEY_ItemFolderPathDisplayNarrow + Description: This is the user-friendly display path of the parent folder of an item. The format of the string + should be tailored such that the folder name comes first, to optimize for a narrow viewing column. + + If the folder is a file folder, the value includes localized names if they are present. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemFolderPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar (c:\foo)" + "\\server\share\mydir\goodnews.doc" "mydir (\\server\share)" + "\\server\share\numbers.xls" "share (\\server)" + "c:\foo\MyFolder" "foo (c:\)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox (/Mailbox Account)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DABD30ED-0043-4789-A7F8-D013A4736622}, 100 + + + + + Name: System.ItemName -- PKEY_ItemName + Description: This is the base-name of the System.ItemNameDisplay. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + If the item is a message, then the value of this property does not include the forwarding or + reply prefixes (see System.ItemNamePrefix). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8DA074-3B5C-43BC-886F-0A2CDCE00B6F}, 100 + + + + + Name: System.ItemNameDisplay -- PKEY_ItemNameDisplay + Description: This is the display name in "most complete" form. This is the best effort unique representation + of the name of an item that makes sense for end users to read. It is the concatentation of + System.ItemNamePrefix and System.ItemName. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + There are acceptable cases when System.FileName is not VT_EMPTY, yet the value of this property + is completely different. Email messages are a key example. If the item is an email message, + the item name is likely the subject. In that case, the value must be the concatenation of the + System.ItemNamePrefix and System.ItemName. Since the value of System.ItemNamePrefix excludes + any trailing whitespace, the concatenation must include a whitespace when generating System.ItemNameDisplay. + + Note that this property is not guaranteed to be unique, but the idea is to promote the most likely + candidate that can be unique and also makes sense for end users. For example, for documents, you + might think about using System.Title as the System.ItemNameDisplay, but in practice the title of + the documents may not be useful or unique enough to be of value as the sole System.ItemNameDisplay. + Instead, providing the value of System.FileName as the value of System.ItemNameDisplay is a better + candidate. In Windows Mail, the emails are stored in the file system as .eml files and the + System.FileName for those files are not human-friendly as they contain GUIDs. In this example, + promoting System.Subject as System.ItemNameDisplay makes more sense. + + Compatibility notes: + + Shell folder implementations on Vista: use PKEY_ItemNameDisplay for the name column when + you want Explorer to call ISF::GetDisplayNameOf(SHGDN_NORMAL) to get the value of the name. Use + another PKEY (like PKEY_ItemName) when you want Explorer to call either the folder's property store or + ISF2::GetDetailsEx in order to get the value of the name. + + Shell folder implementations on XP: the first column needs to be the name column, and Explorer + will call ISF::GetDisplayNameOf to get the value of the name. The PKEY/SCID does not matter. + + Example values: + + File: "hello.txt" + Message: "Re: Let's talk about Tom's argyle socks!" + Device folder: "song.wma" + Folder: "Documents" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10 (PID_STG_NAME) + + + + + Name: System.ItemNamePrefix -- PKEY_ItemNamePrefix + Description: This is the prefix of an item, used for email messages. + where the subject begins with "Re:" which is the prefix. + + If the item is a file, then the value of this property is VT_EMPTY. + + If the item is a message, then the value of this property is the forwarding or reply + prefixes (including delimiting colon, but no whitespace), or VT_EMPTY if there is no prefix. + + Example values: + + System.ItemNamePrefix System.ItemName System.ItemNameDisplay + --------------------- ------------------- ---------------------- + VT_EMPTY "Great day" "Great day" + "Re:" "Great day" "Re: Great day" + "Fwd: " "Monthly budget" "Fwd: Monthly budget" + VT_EMPTY "accounts.xls" "accounts.xls" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D7313FF1-A77A-401C-8C99-3DBDD68ADD36}, 100 + + + + + Name: System.ItemParticipants -- PKEY_ItemParticipants + Description: This is the generic list of people associated with an item and who contributed + to the item. + + For example, this is the combination of people in the To list, Cc list and + sender of an email message. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4D0AA16-9948-41A4-AA85-D97FF9646993}, 100 + + + + + Name: System.ItemPathDisplay -- PKEY_ItemPathDisplay + Description: This is the user-friendly display path to the item. + + If the item is a file or folder this property + includes the extension in all cases, and will be localized if a localized name is available. + + For other items,this is the user-friendly equivalent, assuming the item exists in hierarchical storage. + + Unlike System.ItemUrl, this property value does not include the URL scheme. + + To parse an item path, use System.ItemUrl or System.ParsingPath. To reference shell + namespace items using shell APIs, use System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar\hello.txt" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir\goodnews.doc" + "\\server\share\numbers.xls" "\\server\share\numbers.xls" + "c:\foo\MyFolder" "c:\foo\MyFolder" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox/'Re: Hello!'" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 7 + + + + + Name: System.ItemPathDisplayNarrow -- PKEY_ItemPathDisplayNarrow + Description: This is the user-friendly display path to the item. The format of the string should be + tailored such that the name comes first, to optimize for a narrow viewing column. + + If the item is a file, the value excludes the file extension, and includes localized names if they are present. + If the item is a message, the value includes the System.ItemNamePrefix. + + To parse an item path, use System.ItemUrl or System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello (c:\foo\bar)" + "\\server\share\mydir\goodnews.doc" "goodnews (\\server\share\mydir)" + "\\server\share\folder" "folder (\\server\share)" + "c:\foo\MyFolder" "MyFolder (c:\foo)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Re: Hello! (/Mailbox Account/Inbox)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 8 + + + + + Name: System.ItemType -- PKEY_ItemType + Description: This is the canonical type of the item and is intended to be programmatically + parsed. + + If there is no canonical type, the value is VT_EMPTY. + + If the item is a file (ie, System.FileName is not VT_EMPTY), the value is the same as + System.FileExtension. + + Use System.ItemTypeText when you want to display the type to end users in a view. (If + the item is a file, passing the System.ItemType value to PSFormatForDisplay will + result in the same value as System.ItemTypeText.) + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\folder" "Directory" + "c:\foo\MyFolder" "Directory" + [desktop] "Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "MAPI/IPM.Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 11 + + + + + Name: System.ItemTypeText -- PKEY_ItemTypeText + Description: This is the user friendly type name of the item. This is not intended to be + programmatically parsed. + + If System.ItemType is VT_EMPTY, the value of this property is also VT_EMPTY. + + If the item is a file, the value of this property is the same as if you passed the + file's System.ItemType value to PSFormatForDisplay. + + This property should not be confused with System.Kind, where System.Kind is a high-level + user friendly kind name. For example, for a document, System.Kind = "Document" and + System.Item.Type = ".doc" and System.Item.TypeText = "Microsoft Word Document" + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "Text File" + "\\server\share\mydir\goodnews.doc" "Microsoft Word Document" + "\\server\share\folder" "File Folder" + "c:\foo\MyFolder" "File Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "Outlook E-Mail Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 4 (PID_STG_STORAGETYPE) + + + + + Name: System.ItemUrl -- PKEY_ItemUrl + Description: This always represents a well formed URL that points to the item. + + To reference shell namespace items using shell APIs, use System.ParsingPath. + + Example values: + + Files: "file:///c:/foo/bar/hello.txt" + "csc://{GUID}/..." + Messages: "mapi://..." + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 9 (DISPID_QUERY_VIRTUALPATH) + + + + + Name: System.Keywords -- PKEY_Keywords + Description: The keywords for the item. Also referred to as tags. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 5 (PIDSI_KEYWORDS) + + + + + Name: System.Kind -- PKEY_Kind + Description: System.Kind is used to map extensions to various .Search folders. + Extensions are mapped to Kinds at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap + The list of kinds is not extensible. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 3 + + + + + Name: System.KindText -- PKEY_KindText + Description: This is the user-friendly form of System.Kind. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F04BEF95-C585-4197-A2B7-DF46FDC9EE6D}, 100 + + + + + Name: System.Language -- PKEY_Language + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 28 + + + + + Name: System.MileageInformation -- PKEY_MileageInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FDF84370-031A-4ADD-9E91-0D775F1C6605}, 100 + + + + + Name: System.MIMEType -- PKEY_MIMEType + Description: The MIME type. Eg, for EML files: 'message/rfc822'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 5 + + + + + Name: System.NamespaceCLSID -- PKEY_NamespaceCLSID + Description: The CLSID of the name space extension for an item, the object that implements IShellFolder for this item + + Type: Guid -- VT_CLSID + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 6 + + + + + Name: System.Null -- PKEY_Null + Description: + Type: Null -- VT_NULL + FormatID: {00000000-0000-0000-0000-000000000000}, 0 + + + + + Name: System.OfflineAvailability -- PKEY_OfflineAvailability + Description: + Type: UInt32 -- VT_UI4 + FormatID: {A94688B6-7D9F-4570-A648-E3DFC0AB2B3F}, 100 + + + + + Name: System.OfflineStatus -- PKEY_OfflineStatus + Description: + Type: UInt32 -- VT_UI4 + FormatID: {6D24888F-4718-4BDA-AFED-EA0FB4386CD8}, 100 + + + + + Name: System.OriginalFileName -- PKEY_OriginalFileName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 6 + + + + + Name: System.OwnerSID -- PKEY_OwnerSID + Description: SID of the user that owns the library. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 6 + + + + + Name: System.ParentalRating -- PKEY_ParentalRating + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 21 (PIDMSI_PARENTAL_RATING) + + + + + Name: System.ParentalRatingReason -- PKEY_ParentalRatingReason + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10984E0A-F9F2-4321-B7EF-BAF195AF4319}, 100 + + + + + Name: System.ParentalRatingsOrganization -- PKEY_ParentalRatingsOrganization + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A7FE0840-1344-46F0-8D37-52ED712A4BF9}, 100 + + + + + Name: System.ParsingBindContext -- PKEY_ParsingBindContext + Description: used to get the IBindCtx for an item for parsing + + Type: Any -- VT_NULL Legacy code may treat this as VT_UNKNOWN. + FormatID: {DFB9A04D-362F-4CA3-B30B-0254B17B5B84}, 100 + + + + + Name: System.ParsingName -- PKEY_ParsingName + Description: The shell namespace name of an item relative to a parent folder. This name may be passed to + IShellFolder::ParseDisplayName() of the parent shell folder. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 24 + + + + + Name: System.ParsingPath -- PKEY_ParsingPath + Description: This is the shell namespace path to the item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the item is a file, the value is identical to System.ItemPathDisplay. + + If the item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 30 + + + + + Name: System.PerceivedType -- PKEY_PerceivedType + Description: The perceived type of a shell item, based upon its canonical type. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 9 + + + + + Name: System.PercentFull -- PKEY_PercentFull + Description: The amount filled as a percentage, multiplied by 100 (ie, the valid range is 0 through 100). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 5 (Filesystem Volume Properties) + + + + + Name: System.Priority -- PKEY_Priority + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 5 + + + + + Name: System.PriorityText -- PKEY_PriorityText + Description: This is the user-friendly form of System.Priority. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D98BE98B-B86B-4095-BF52-9D23B2E0A752}, 100 + + + + + Name: System.Project -- PKEY_Project + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {39A7F922-477C-48DE-8BC8-B28441E342E3}, 100 + + + + + Name: System.ProviderItemID -- PKEY_ProviderItemID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F21D9941-81F0-471A-ADEE-4E74B49217ED}, 100 + + + + + Name: System.Rating -- PKEY_Rating + Description: Indicates the users preference rating of an item on a scale of 1-99 (1-12 = One Star, + 13-37 = Two Stars, 38-62 = Three Stars, 63-87 = Four Stars, 88-99 = Five Stars). + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 9 (PIDMSI_RATING) + + + + + Name: System.RatingText -- PKEY_RatingText + Description: This is the user-friendly form of System.Rating. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {90197CA7-FD8F-4E8C-9DA3-B57E1E609295}, 100 + + + + + Name: System.Sensitivity -- PKEY_Sensitivity + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {F8D3F6AC-4874-42CB-BE59-AB454B30716A}, 100 + + + + + Name: System.SensitivityText -- PKEY_SensitivityText + Description: This is the user-friendly form of System.Sensitivity. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D0C7F054-3F72-4725-8527-129A577CB269}, 100 + + + + + Name: System.SFGAOFlags -- PKEY_SFGAOFlags + Description: IShellFolder::GetAttributesOf flags, with SFGAO_PKEYSFGAOMASK attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 25 + + + + + Name: System.SharedWith -- PKEY_SharedWith + Description: Who is the item shared with? + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 200 + + + + + Name: System.ShareUserRating -- PKEY_ShareUserRating + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 12 (PIDMSI_SHARE_USER_RATING) + + + + + Name: System.SharingStatus -- PKEY_SharingStatus + Description: What is the item's sharing status (not shared, shared, everyone (homegroup or everyone), or private)? + + Type: UInt32 -- VT_UI4 + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 300 + + + + + Name: System.SimpleRating -- PKEY_SimpleRating + Description: Indicates the users preference rating of an item on a scale of 0-5 (0=unrated, 1=One Star, 2=Two Stars, 3=Three Stars, + 4=Four Stars, 5=Five Stars) + + Type: UInt32 -- VT_UI4 + FormatID: {A09F084E-AD41-489F-8076-AA5BE3082BCA}, 100 + + + + + Name: System.Size -- PKEY_Size + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 12 (PID_STG_SIZE) + + + + + Name: System.SoftwareUsed -- PKEY_SoftwareUsed + Description: PropertyTagSoftwareUsed + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 305 + + + + + Name: System.SourceItem -- PKEY_SourceItem + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {668CDFA5-7A1B-4323-AE4B-E527393A1D81}, 100 + + + + + Name: System.StartDate -- PKEY_StartDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {48FD6EC8-8A12-4CDF-A03E-4EC5A511EDDE}, 100 + + + + + Name: System.Status -- PKEY_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_IntSite) {000214A1-0000-0000-C000-000000000046}, 9 + + + + + Name: System.Subject -- PKEY_Subject + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 3 (PIDSI_SUBJECT) + + + + + Name: System.Thumbnail -- PKEY_Thumbnail + Description: A data that represents the thumbnail in VT_CF format. + + Type: Clipboard -- VT_CF + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 17 (PIDSI_THUMBNAIL) + + + + + Name: System.ThumbnailCacheId -- PKEY_ThumbnailCacheId + Description: Unique value that can be used as a key to cache thumbnails. The value changes when the name, volume, or data modified + of an item changes. + + Type: UInt64 -- VT_UI8 + FormatID: {446D16B1-8DAD-4870-A748-402EA43D788C}, 100 + + + + + Name: System.ThumbnailStream -- PKEY_ThumbnailStream + Description: Data that represents the thumbnail in VT_STREAM format that GDI+/WindowsCodecs supports (jpg, png, etc). + + Type: Stream -- VT_STREAM + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 27 + + + + + Name: System.Title -- PKEY_Title + Description: Title of item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 2 (PIDSI_TITLE) + + + + + Name: System.TotalFileSize -- PKEY_TotalFileSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 14 + + + + + Name: System.Trademarks -- PKEY_Trademarks + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 9 (PIDVSI_Trademarks) + + + + + System.AppUserModel Properties + + + + + System.Audio Properties + + + + + System.Calendar Properties + + + + + System.Communication Properties + + + + + System.Computer Properties + + + + + System.Contact Properties + + + + + System.Device Properties + + + + + System.DeviceInterface Properties + + + + + System.Devices Properties + + + + + System.Document Properties + + + + + System.DRM Properties + + + + + System.GPS Properties + + + + + System.Identity Properties + + + + + System.IdentityProvider Properties + + + + + System.Image Properties + + + + + System.Journal Properties + + + + + System.LayoutPattern Properties + + + + + System.Link Properties + + + + + System.Media Properties + + + + + System.Message Properties + + + + + System.Music Properties + + + + + System.Note Properties + + + + + System.Photo Properties + + + + + System.PropGroup Properties + + + + + System.PropList Properties + + + + + System.RecordedTV Properties + + + + + System.Search Properties + + + + + System.Shell Properties + + + + + System.Software Properties + + + + + System.Sync Properties + + + + + System.Task Properties + + + + + System.Video Properties + + + + + System.Volume Properties + + + + + System.AppUserModel Properties + + + + + Name: System.AppUserModel.ExcludeFromShowInNewInstall -- PKEY_AppUserModel_ExcludeFromShowInNewInstall + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 8 + + + + + Name: System.AppUserModel.ID -- PKEY_AppUserModel_ID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5 + + + + + Name: System.AppUserModel.IsDestListSeparator -- PKEY_AppUserModel_IsDestListSeparator + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 6 + + + + + Name: System.AppUserModel.PreventPinning -- PKEY_AppUserModel_PreventPinning + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 9 + + + + + Name: System.AppUserModel.RelaunchCommand -- PKEY_AppUserModel_RelaunchCommand + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 2 + + + + + Name: System.AppUserModel.RelaunchDisplayNameResource -- PKEY_AppUserModel_RelaunchDisplayNameResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 4 + + + + + Name: System.AppUserModel.RelaunchIconResource -- PKEY_AppUserModel_RelaunchIconResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 3 + + + + + System.Audio Properties + + + + + Name: System.Audio.ChannelCount -- PKEY_Audio_ChannelCount + Description: Indicates the channel count for the audio file. Values: 1 (mono), 2 (stereo). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 7 (PIDASI_CHANNEL_COUNT) + + + + + Name: System.Audio.Compression -- PKEY_Audio_Compression + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 10 (PIDASI_COMPRESSION) + + + + + Name: System.Audio.EncodingBitrate -- PKEY_Audio_EncodingBitrate + Description: Indicates the average data rate in Hz for the audio file in "bits per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 4 (PIDASI_AVG_DATA_RATE) + + + + + Name: System.Audio.Format -- PKEY_Audio_Format + Description: Indicates the format of the audio file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR. + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 2 (PIDASI_FORMAT) + + + + + Name: System.Audio.IsVariableBitRate -- PKEY_Audio_IsVariableBitRate + Description: + Type: Boolean -- VT_BOOL + FormatID: {E6822FEE-8C17-4D62-823C-8E9CFCBD1D5C}, 100 + + + + + Name: System.Audio.PeakValue -- PKEY_Audio_PeakValue + Description: + Type: UInt32 -- VT_UI4 + FormatID: {2579E5D0-1116-4084-BD9A-9B4F7CB4DF5E}, 100 + + + + + Name: System.Audio.SampleRate -- PKEY_Audio_SampleRate + Description: Indicates the audio sample rate for the audio file in "samples per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 5 (PIDASI_SAMPLE_RATE) + + + + + Name: System.Audio.SampleSize -- PKEY_Audio_SampleSize + Description: Indicates the audio sample size for the audio file in "bits per sample". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 6 (PIDASI_SAMPLE_SIZE) + + + + + Name: System.Audio.StreamName -- PKEY_Audio_StreamName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 9 (PIDASI_STREAM_NAME) + + + + + Name: System.Audio.StreamNumber -- PKEY_Audio_StreamNumber + Description: + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 8 (PIDASI_STREAM_NUMBER) + + + + + System.Calendar Properties + + + + + Name: System.Calendar.Duration -- PKEY_Calendar_Duration + Description: The duration as specified in a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {293CA35A-09AA-4DD2-B180-1FE245728A52}, 100 + + + + + Name: System.Calendar.IsOnline -- PKEY_Calendar_IsOnline + Description: Identifies if the event is an online event. + + Type: Boolean -- VT_BOOL + FormatID: {BFEE9149-E3E2-49A7-A862-C05988145CEC}, 100 + + + + + Name: System.Calendar.IsRecurring -- PKEY_Calendar_IsRecurring + Description: + Type: Boolean -- VT_BOOL + FormatID: {315B9C8D-80A9-4EF9-AE16-8E746DA51D70}, 100 + + + + + Name: System.Calendar.Location -- PKEY_Calendar_Location + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F6272D18-CECC-40B1-B26A-3911717AA7BD}, 100 + + + + + Name: System.Calendar.OptionalAttendeeAddresses -- PKEY_Calendar_OptionalAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D55BAE5A-3892-417A-A649-C6AC5AAAEAB3}, 100 + + + + + Name: System.Calendar.OptionalAttendeeNames -- PKEY_Calendar_OptionalAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {09429607-582D-437F-84C3-DE93A2B24C3C}, 100 + + + + + Name: System.Calendar.OrganizerAddress -- PKEY_Calendar_OrganizerAddress + Description: Address of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {744C8242-4DF5-456C-AB9E-014EFB9021E3}, 100 + + + + + Name: System.Calendar.OrganizerName -- PKEY_Calendar_OrganizerName + Description: Name of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAA660F9-9865-458E-B484-01BC7FE3973E}, 100 + + + + + Name: System.Calendar.ReminderTime -- PKEY_Calendar_ReminderTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FC5BA4-24F9-4011-9F3F-ADD27AFAD818}, 100 + + + + + Name: System.Calendar.RequiredAttendeeAddresses -- PKEY_Calendar_RequiredAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {0BA7D6C3-568D-4159-AB91-781A91FB71E5}, 100 + + + + + Name: System.Calendar.RequiredAttendeeNames -- PKEY_Calendar_RequiredAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {B33AF30B-F552-4584-936C-CB93E5CDA29F}, 100 + + + + + Name: System.Calendar.Resources -- PKEY_Calendar_Resources + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {00F58A38-C54B-4C40-8696-97235980EAE1}, 100 + + + + + Name: System.Calendar.ResponseStatus -- PKEY_Calendar_ResponseStatus + Description: This property stores the status of the user responses to meetings in her calendar. + + Type: UInt16 -- VT_UI2 + FormatID: {188C1F91-3C40-4132-9EC5-D8B03B72A8A2}, 100 + + + + + Name: System.Calendar.ShowTimeAs -- PKEY_Calendar_ShowTimeAs + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {5BF396D4-5EB2-466F-BDE9-2FB3F2361D6E}, 100 + + + + + Name: System.Calendar.ShowTimeAsText -- PKEY_Calendar_ShowTimeAsText + Description: This is the user-friendly form of System.Calendar.ShowTimeAs. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {53DA57CF-62C0-45C4-81DE-7610BCEFD7F5}, 100 + + + + + System.Communication Properties + + + + + Name: System.Communication.AccountName -- PKEY_Communication_AccountName + Description: Account Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 9 + + + + + Name: System.Communication.DateItemExpires -- PKEY_Communication_DateItemExpires + Description: Date the item expires due to the retention policy. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {428040AC-A177-4C8A-9760-F6F761227F9A}, 100 + + + + + Name: System.Communication.FollowupIconIndex -- PKEY_Communication_FollowupIconIndex + Description: This is the icon index used on messages marked for followup. + + Type: Int32 -- VT_I4 + FormatID: {83A6347E-6FE4-4F40-BA9C-C4865240D1F4}, 100 + + + + + Name: System.Communication.HeaderItem -- PKEY_Communication_HeaderItem + Description: This property will be true if the item is a header item which means the item hasn't been fully downloaded. + + Type: Boolean -- VT_BOOL + FormatID: {C9C34F84-2241-4401-B607-BD20ED75AE7F}, 100 + + + + + Name: System.Communication.PolicyTag -- PKEY_Communication_PolicyTag + Description: This a string used to identify the retention policy applied to the item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EC0B4191-AB0B-4C66-90B6-C6637CDEBBAB}, 100 + + + + + Name: System.Communication.SecurityFlags -- PKEY_Communication_SecurityFlags + Description: Security flags associated with the item to know if the item is encrypted, signed or DRM enabled. + + Type: Int32 -- VT_I4 + FormatID: {8619A4B6-9F4D-4429-8C0F-B996CA59E335}, 100 + + + + + Name: System.Communication.Suffix -- PKEY_Communication_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {807B653A-9E91-43EF-8F97-11CE04EE20C5}, 100 + + + + + Name: System.Communication.TaskStatus -- PKEY_Communication_TaskStatus + Description: + Type: UInt16 -- VT_UI2 + FormatID: {BE1A72C6-9A1D-46B7-AFE7-AFAF8CEF4999}, 100 + + + + + Name: System.Communication.TaskStatusText -- PKEY_Communication_TaskStatusText + Description: This is the user-friendly form of System.Communication.TaskStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A6744477-C237-475B-A075-54F34498292A}, 100 + + + + + System.Computer Properties + + + + + Name: System.Computer.DecoratedFreeSpace -- PKEY_Computer_DecoratedFreeSpace + Description: Free space and total space: "%s free of %s" + + Type: Multivalue UInt64 -- VT_VECTOR | VT_UI8 (For variants: VT_ARRAY | VT_UI8) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 7 (Filesystem Volume Properties) + + + + + System.Contact Properties + + + + + Name: System.Contact.Anniversary -- PKEY_Contact_Anniversary + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {9AD5BADB-CEA7-4470-A03D-B84E51B9949E}, 100 + + + + + Name: System.Contact.AssistantName -- PKEY_Contact_AssistantName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD102C9C-5540-4A88-A6F6-64E4981C8CD1}, 100 + + + + + Name: System.Contact.AssistantTelephone -- PKEY_Contact_AssistantTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9A93244D-A7AD-4FF8-9B99-45EE4CC09AF6}, 100 + + + + + Name: System.Contact.Birthday -- PKEY_Contact_Birthday + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 47 + + + + + Name: System.Contact.BusinessAddress -- PKEY_Contact_BusinessAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {730FB6DD-CF7C-426B-A03F-BD166CC9EE24}, 100 + + + + + Name: System.Contact.BusinessAddressCity -- PKEY_Contact_BusinessAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {402B5934-EC5A-48C3-93E6-85E86A2D934E}, 100 + + + + + Name: System.Contact.BusinessAddressCountry -- PKEY_Contact_BusinessAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B0B87314-FCF6-4FEB-8DFF-A50DA6AF561C}, 100 + + + + + Name: System.Contact.BusinessAddressPostalCode -- PKEY_Contact_BusinessAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1D4A09E-D758-4CD1-B6EC-34A8B5A73F80}, 100 + + + + + Name: System.Contact.BusinessAddressPostOfficeBox -- PKEY_Contact_BusinessAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BC4E71CE-17F9-48D5-BEE9-021DF0EA5409}, 100 + + + + + Name: System.Contact.BusinessAddressState -- PKEY_Contact_BusinessAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {446F787F-10C4-41CB-A6C4-4D0343551597}, 100 + + + + + Name: System.Contact.BusinessAddressStreet -- PKEY_Contact_BusinessAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DDD1460F-C0BF-4553-8CE4-10433C908FB0}, 100 + + + + + Name: System.Contact.BusinessFaxNumber -- PKEY_Contact_BusinessFaxNumber + Description: Business fax number of the contact. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {91EFF6F3-2E27-42CA-933E-7C999FBE310B}, 100 + + + + + Name: System.Contact.BusinessHomePage -- PKEY_Contact_BusinessHomePage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {56310920-2491-4919-99CE-EADB06FAFDB2}, 100 + + + + + Name: System.Contact.BusinessTelephone -- PKEY_Contact_BusinessTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6A15E5A0-0A1E-4CD7-BB8C-D2F1B0C929BC}, 100 + + + + + Name: System.Contact.CallbackTelephone -- PKEY_Contact_CallbackTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BF53D1C3-49E0-4F7F-8567-5A821D8AC542}, 100 + + + + + Name: System.Contact.CarTelephone -- PKEY_Contact_CarTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8FDC6DEA-B929-412B-BA90-397A257465FE}, 100 + + + + + Name: System.Contact.Children -- PKEY_Contact_Children + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4729704-8EF1-43EF-9024-2BD381187FD5}, 100 + + + + + Name: System.Contact.CompanyMainTelephone -- PKEY_Contact_CompanyMainTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8589E481-6040-473D-B171-7FA89C2708ED}, 100 + + + + + Name: System.Contact.Department -- PKEY_Contact_Department + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FC9F7306-FF8F-4D49-9FB6-3FFE5C0951EC}, 100 + + + + + Name: System.Contact.EmailAddress -- PKEY_Contact_EmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F8FA7FA3-D12B-4785-8A4E-691A94F7A3E7}, 100 + + + + + Name: System.Contact.EmailAddress2 -- PKEY_Contact_EmailAddress2 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {38965063-EDC8-4268-8491-B7723172CF29}, 100 + + + + + Name: System.Contact.EmailAddress3 -- PKEY_Contact_EmailAddress3 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {644D37B4-E1B3-4BAD-B099-7E7C04966ACA}, 100 + + + + + Name: System.Contact.EmailAddresses -- PKEY_Contact_EmailAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {84D8F337-981D-44B3-9615-C7596DBA17E3}, 100 + + + + + Name: System.Contact.EmailName -- PKEY_Contact_EmailName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CC6F4F24-6083-4BD4-8754-674D0DE87AB8}, 100 + + + + + Name: System.Contact.FileAsName -- PKEY_Contact_FileAsName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1A24AA7-9CA7-40F6-89EC-97DEF9FFE8DB}, 100 + + + + + Name: System.Contact.FirstName -- PKEY_Contact_FirstName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {14977844-6B49-4AAD-A714-A4513BF60460}, 100 + + + + + Name: System.Contact.FullName -- PKEY_Contact_FullName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {635E9051-50A5-4BA2-B9DB-4ED056C77296}, 100 + + + + + Name: System.Contact.Gender -- PKEY_Contact_Gender + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 100 + + + + + Name: System.Contact.GenderValue -- PKEY_Contact_GenderValue + Description: + Type: UInt16 -- VT_UI2 + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 101 + + + + + Name: System.Contact.Hobbies -- PKEY_Contact_Hobbies + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {5DC2253F-5E11-4ADF-9CFE-910DD01E3E70}, 100 + + + + + Name: System.Contact.HomeAddress -- PKEY_Contact_HomeAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {98F98354-617A-46B8-8560-5B1B64BF1F89}, 100 + + + + + Name: System.Contact.HomeAddressCity -- PKEY_Contact_HomeAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 65 + + + + + Name: System.Contact.HomeAddressCountry -- PKEY_Contact_HomeAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08A65AA1-F4C9-43DD-9DDF-A33D8E7EAD85}, 100 + + + + + Name: System.Contact.HomeAddressPostalCode -- PKEY_Contact_HomeAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8AFCC170-8A46-4B53-9EEE-90BAE7151E62}, 100 + + + + + Name: System.Contact.HomeAddressPostOfficeBox -- PKEY_Contact_HomeAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7B9F6399-0A3F-4B12-89BD-4ADC51C918AF}, 100 + + + + + Name: System.Contact.HomeAddressState -- PKEY_Contact_HomeAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C89A23D0-7D6D-4EB8-87D4-776A82D493E5}, 100 + + + + + Name: System.Contact.HomeAddressStreet -- PKEY_Contact_HomeAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0ADEF160-DB3F-4308-9A21-06237B16FA2A}, 100 + + + + + Name: System.Contact.HomeFaxNumber -- PKEY_Contact_HomeFaxNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {660E04D6-81AB-4977-A09F-82313113AB26}, 100 + + + + + Name: System.Contact.HomeTelephone -- PKEY_Contact_HomeTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 20 + + + + + Name: System.Contact.IMAddress -- PKEY_Contact_IMAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D68DBD8A-3374-4B81-9972-3EC30682DB3D}, 100 + + + + + Name: System.Contact.Initials -- PKEY_Contact_Initials + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F3D8F40D-50CB-44A2-9718-40CB9119495D}, 100 + + + + + Name: System.Contact.JobTitle -- PKEY_Contact_JobTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 6 + + + + + Name: System.Contact.Label -- PKEY_Contact_Label + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {97B0AD89-DF49-49CC-834E-660974FD755B}, 100 + + + + + Name: System.Contact.LastName -- PKEY_Contact_LastName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F367200-C270-457C-B1D4-E07C5BCD90C7}, 100 + + + + + Name: System.Contact.MailingAddress -- PKEY_Contact_MailingAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C0AC206A-827E-4650-95AE-77E2BB74FCC9}, 100 + + + + + Name: System.Contact.MiddleName -- PKEY_Contact_MiddleName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 71 + + + + + Name: System.Contact.MobileTelephone -- PKEY_Contact_MobileTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 35 + + + + + Name: System.Contact.NickName -- PKEY_Contact_NickName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 74 + + + + + Name: System.Contact.OfficeLocation -- PKEY_Contact_OfficeLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 7 + + + + + Name: System.Contact.OtherAddress -- PKEY_Contact_OtherAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {508161FA-313B-43D5-83A1-C1ACCF68622C}, 100 + + + + + Name: System.Contact.OtherAddressCity -- PKEY_Contact_OtherAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6E682923-7F7B-4F0C-A337-CFCA296687BF}, 100 + + + + + Name: System.Contact.OtherAddressCountry -- PKEY_Contact_OtherAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F167568-0AAE-4322-8ED9-6055B7B0E398}, 100 + + + + + Name: System.Contact.OtherAddressPostalCode -- PKEY_Contact_OtherAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95C656C1-2ABF-4148-9ED3-9EC602E3B7CD}, 100 + + + + + Name: System.Contact.OtherAddressPostOfficeBox -- PKEY_Contact_OtherAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8B26EA41-058F-43F6-AECC-4035681CE977}, 100 + + + + + Name: System.Contact.OtherAddressState -- PKEY_Contact_OtherAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {71B377D6-E570-425F-A170-809FAE73E54E}, 100 + + + + + Name: System.Contact.OtherAddressStreet -- PKEY_Contact_OtherAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FF962609-B7D6-4999-862D-95180D529AEA}, 100 + + + + + Name: System.Contact.PagerTelephone -- PKEY_Contact_PagerTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D6304E01-F8F5-4F45-8B15-D024A6296789}, 100 + + + + + Name: System.Contact.PersonalTitle -- PKEY_Contact_PersonalTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 69 + + + + + Name: System.Contact.PrimaryAddressCity -- PKEY_Contact_PrimaryAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C8EA94F0-A9E3-4969-A94B-9C62A95324E0}, 100 + + + + + Name: System.Contact.PrimaryAddressCountry -- PKEY_Contact_PrimaryAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E53D799D-0F3F-466E-B2FF-74634A3CB7A4}, 100 + + + + + Name: System.Contact.PrimaryAddressPostalCode -- PKEY_Contact_PrimaryAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {18BBD425-ECFD-46EF-B612-7B4A6034EDA0}, 100 + + + + + Name: System.Contact.PrimaryAddressPostOfficeBox -- PKEY_Contact_PrimaryAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE5EF3C7-46E1-484E-9999-62C5308394C1}, 100 + + + + + Name: System.Contact.PrimaryAddressState -- PKEY_Contact_PrimaryAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1176DFE-7138-4640-8B4C-AE375DC70A6D}, 100 + + + + + Name: System.Contact.PrimaryAddressStreet -- PKEY_Contact_PrimaryAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {63C25B20-96BE-488F-8788-C09C407AD812}, 100 + + + + + Name: System.Contact.PrimaryEmailAddress -- PKEY_Contact_PrimaryEmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 48 + + + + + Name: System.Contact.PrimaryTelephone -- PKEY_Contact_PrimaryTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 25 + + + + + Name: System.Contact.Profession -- PKEY_Contact_Profession + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7268AF55-1CE4-4F6E-A41F-B6E4EF10E4A9}, 100 + + + + + Name: System.Contact.SpouseName -- PKEY_Contact_SpouseName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9D2408B6-3167-422B-82B0-F583B7A7CFE3}, 100 + + + + + Name: System.Contact.Suffix -- PKEY_Contact_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 73 + + + + + Name: System.Contact.TelexNumber -- PKEY_Contact_TelexNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C554493C-C1F7-40C1-A76C-EF8C0614003E}, 100 + + + + + Name: System.Contact.TTYTDDTelephone -- PKEY_Contact_TTYTDDTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAF16BAC-2B55-45E6-9F6D-415EB94910DF}, 100 + + + + + Name: System.Contact.WebPage -- PKEY_Contact_WebPage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 18 + + + + + Contact.JA Properties + + + + + Contact.JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + System.Device Properties + + + + + Name: System.Device.PrinterURL -- PKEY_Device_PrinterURL + Description: Printer information Printer URL. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B48F35A-BE6E-4F17-B108-3C4073D1669A}, 15 + + + + + System.DeviceInterface Properties + + + + + Name: System.DeviceInterface.PrinterDriverDirectory -- PKEY_DeviceInterface_PrinterDriverDirectory + Description: Printer information Printer Driver Directory. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {847C66DE-B8D6-4AF9-ABC3-6F4F926BC039}, 14 + + + + + Name: System.DeviceInterface.PrinterDriverName -- PKEY_DeviceInterface_PrinterDriverName + Description: Printer information Driver Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AFC47170-14F5-498C-8F30-B0D19BE449C6}, 11 + + + + + Name: System.DeviceInterface.PrinterName -- PKEY_DeviceInterface_PrinterName + Description: Printer information Printer Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0A7B84EF-0C27-463F-84EF-06C5070001BE}, 10 + + + + + Name: System.DeviceInterface.PrinterPortName -- PKEY_DeviceInterface_PrinterPortName + Description: Printer information Port Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EEC7B761-6F94-41B1-949F-C729720DD13C}, 12 + + + + + System.Devices Properties + + + + + Name: System.Devices.BatteryLife -- PKEY_Devices_BatteryLife + Description: Remaining battery life of the device as an integer between 0 and 100 percent. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 10 + + + + + Name: System.Devices.BatteryPlusCharging -- PKEY_Devices_BatteryPlusCharging + Description: Remaining battery life of the device as an integer between 0 and 100 percent and the device's charging state. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 22 + + + + + Name: System.Devices.BatteryPlusChargingText -- PKEY_Devices_BatteryPlusChargingText + Description: Remaining battery life of the device and the device's charging state as a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 23 + + + + + Name: System.Devices.Category -- PKEY_Devices_Category_Desc_Singular + Description: Singular form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 91 + + + + + Name: System.Devices.CategoryGroup -- PKEY_Devices_CategoryGroup_Desc + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 94 + + + + + Name: System.Devices.CategoryPlural -- PKEY_Devices_Category_Desc_Plural + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 92 + + + + + Name: System.Devices.ChargingState -- PKEY_Devices_ChargingState + Description: Boolean value representing if the device is currently charging. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 11 + + + + + Name: System.Devices.Connected -- PKEY_Devices_IsConnected + Description: Device connection state. If VARIANT_TRUE, indicates the device is currently connected to the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 55 + + + + + Name: System.Devices.ContainerId -- PKEY_Devices_ContainerId + Description: Device container ID. + + Type: Guid -- VT_CLSID + FormatID: {8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C}, 2 + + + + + Name: System.Devices.DefaultTooltip -- PKEY_Devices_DefaultTooltip + Description: Tooltip for default state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 153 + + + + + Name: System.Devices.DeviceDescription1 -- PKEY_Devices_DeviceDescription1 + Description: First line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 81 + + + + + Name: System.Devices.DeviceDescription2 -- PKEY_Devices_DeviceDescription2 + Description: Second line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 82 + + + + + Name: System.Devices.DiscoveryMethod -- PKEY_Devices_DiscoveryMethod + Description: Device discovery method. This indicates on what transport or physical connection the device is discovered. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 52 + + + + + Name: System.Devices.FriendlyName -- PKEY_Devices_FriendlyName + Description: Device friendly name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 12288 + + + + + Name: System.Devices.FunctionPaths -- PKEY_Devices_FunctionPaths + Description: Available functions for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 3 + + + + + Name: System.Devices.InterfacePaths -- PKEY_Devices_InterfacePaths + Description: Available interfaces for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 2 + + + + + Name: System.Devices.IsDefault -- PKEY_Devices_IsDefaultDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 86 + + + + + Name: System.Devices.IsNetworkConnected -- PKEY_Devices_IsNetworkDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 85 + + + + + Name: System.Devices.IsShared -- PKEY_Devices_IsSharedDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 84 + + + + + Name: System.Devices.IsSoftwareInstalling -- PKEY_Devices_IsSoftwareInstalling + Description: If VARIANT_TRUE, the device installer is currently installing software. + + Type: Boolean -- VT_BOOL + FormatID: {83DA6326-97A6-4088-9453-A1923F573B29}, 9 + + + + + Name: System.Devices.LaunchDeviceStageFromExplorer -- PKEY_Devices_LaunchDeviceStageFromExplorer + Description: Indicates whether to launch Device Stage or not + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 77 + + + + + Name: System.Devices.LocalMachine -- PKEY_Devices_IsLocalMachine + Description: If VARIANT_TRUE, the device in question is actually the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 70 + + + + + Name: System.Devices.Manufacturer -- PKEY_Devices_Manufacturer + Description: Device manufacturer. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8192 + + + + + Name: System.Devices.MissedCalls -- PKEY_Devices_MissedCalls + Description: Number of missed calls on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 5 + + + + + Name: System.Devices.ModelName -- PKEY_Devices_ModelName + Description: Model name of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8194 + + + + + Name: System.Devices.ModelNumber -- PKEY_Devices_ModelNumber + Description: Model number of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8195 + + + + + Name: System.Devices.NetworkedTooltip -- PKEY_Devices_NetworkedTooltip + Description: Tooltip for connection state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 152 + + + + + Name: System.Devices.NetworkName -- PKEY_Devices_NetworkName + Description: Name of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 7 + + + + + Name: System.Devices.NetworkType -- PKEY_Devices_NetworkType + Description: String representing the type of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 8 + + + + + Name: System.Devices.NewPictures -- PKEY_Devices_NewPictures + Description: Number of new pictures on the device. + + Type: UInt16 -- VT_UI2 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 4 + + + + + Name: System.Devices.Notification -- PKEY_Devices_Notification + Description: Device Notification Property. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 3 + + + + + Name: System.Devices.NotificationStore -- PKEY_Devices_NotificationStore + Description: Device Notification Store. + + Type: Object -- VT_UNKNOWN + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 2 + + + + + Name: System.Devices.NotWorkingProperly -- PKEY_Devices_IsNotWorkingProperly + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 83 + + + + + Name: System.Devices.Paired -- PKEY_Devices_IsPaired + Description: Device paired state. If VARIANT_TRUE, indicates the device is not paired with the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 56 + + + + + Name: System.Devices.PrimaryCategory -- PKEY_Devices_PrimaryCategory + Description: Primary category group for this device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 10 + + + + + Name: System.Devices.Roaming -- PKEY_Devices_Roaming + Description: Status indicator used to indicate if the device is roaming. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 9 + + + + + Name: System.Devices.SafeRemovalRequired -- PKEY_Devices_SafeRemovalRequired + Description: Indicates if a device requires safe removal or not + + Type: Boolean -- VT_BOOL + FormatID: {AFD97640-86A3-4210-B67C-289C41AABE55}, 2 + + + + + Name: System.Devices.SharedTooltip -- PKEY_Devices_SharedTooltip + Description: Tooltip for sharing state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 151 + + + + + Name: System.Devices.SignalStrength -- PKEY_Devices_SignalStrength + Description: Device signal strength. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 2 + + + + + Name: System.Devices.Status1 -- PKEY_Devices_Status1 + Description: 1st line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 257 + + + + + Name: System.Devices.Status2 -- PKEY_Devices_Status2 + Description: 2nd line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 258 + + + + + Name: System.Devices.StorageCapacity -- PKEY_Devices_StorageCapacity + Description: Total storage capacity of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 12 + + + + + Name: System.Devices.StorageFreeSpace -- PKEY_Devices_StorageFreeSpace + Description: Total free space of the storage of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 13 + + + + + Name: System.Devices.StorageFreeSpacePercent -- PKEY_Devices_StorageFreeSpacePercent + Description: Total free space of the storage of the device as a percentage. + + Type: UInt32 -- VT_UI4 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 14 + + + + + Name: System.Devices.TextMessages -- PKEY_Devices_TextMessages + Description: Number of unread text messages on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 3 + + + + + Name: System.Devices.Voicemail -- PKEY_Devices_Voicemail + Description: Status indicator used to indicate if the device has voicemail. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 6 + + + + + Devices.Notifications Properties + + + + + Devices.Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + System.Document Properties + + + + + Name: System.Document.ByteCount -- PKEY_Document_ByteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 4 (PIDDSI_BYTECOUNT) + + + + + Name: System.Document.CharacterCount -- PKEY_Document_CharacterCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 16 (PIDSI_CHARCOUNT) + + + + + Name: System.Document.ClientID -- PKEY_Document_ClientID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {276D7BB0-5B34-4FB0-AA4B-158ED12A1809}, 100 + + + + + Name: System.Document.Contributor -- PKEY_Document_Contributor + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {F334115E-DA1B-4509-9B3D-119504DC7ABB}, 100 + + + + + Name: System.Document.DateCreated -- PKEY_Document_DateCreated + Description: This property is stored in the document, not obtained from the file system. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 12 (PIDSI_CREATE_DTM) + + + + + Name: System.Document.DatePrinted -- PKEY_Document_DatePrinted + Description: Legacy name: "DocLastPrinted". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 11 (PIDSI_LASTPRINTED) + + + + + Name: System.Document.DateSaved -- PKEY_Document_DateSaved + Description: Legacy name: "DocLastSavedTm". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 13 (PIDSI_LASTSAVE_DTM) + + + + + Name: System.Document.Division -- PKEY_Document_Division + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E005EE6-BF27-428B-B01C-79676ACD2870}, 100 + + + + + Name: System.Document.DocumentID -- PKEY_Document_DocumentID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E08805C8-E395-40DF-80D2-54F0D6C43154}, 100 + + + + + Name: System.Document.HiddenSlideCount -- PKEY_Document_HiddenSlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 9 (PIDDSI_HIDDENCOUNT) + + + + + Name: System.Document.LastAuthor -- PKEY_Document_LastAuthor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 8 (PIDSI_LASTAUTHOR) + + + + + Name: System.Document.LineCount -- PKEY_Document_LineCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 5 (PIDDSI_LINECOUNT) + + + + + Name: System.Document.Manager -- PKEY_Document_Manager + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 14 (PIDDSI_MANAGER) + + + + + Name: System.Document.MultimediaClipCount -- PKEY_Document_MultimediaClipCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 10 (PIDDSI_MMCLIPCOUNT) + + + + + Name: System.Document.NoteCount -- PKEY_Document_NoteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 8 (PIDDSI_NOTECOUNT) + + + + + Name: System.Document.PageCount -- PKEY_Document_PageCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 14 (PIDSI_PAGECOUNT) + + + + + Name: System.Document.ParagraphCount -- PKEY_Document_ParagraphCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 6 (PIDDSI_PARCOUNT) + + + + + Name: System.Document.PresentationFormat -- PKEY_Document_PresentationFormat + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 3 (PIDDSI_PRESFORMAT) + + + + + Name: System.Document.RevisionNumber -- PKEY_Document_RevisionNumber + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 9 (PIDSI_REVNUMBER) + + + + + Name: System.Document.Security -- PKEY_Document_Security + Description: Access control information, from SummaryInfo propset + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 19 + + + + + Name: System.Document.SlideCount -- PKEY_Document_SlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 7 (PIDDSI_SLIDECOUNT) + + + + + Name: System.Document.Template -- PKEY_Document_Template + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 7 (PIDSI_TEMPLATE) + + + + + Name: System.Document.TotalEditingTime -- PKEY_Document_TotalEditingTime + Description: 100ns units, not milliseconds. VT_FILETIME for IPropertySetStorage handlers (legacy) + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 10 (PIDSI_EDITTIME) + + + + + Name: System.Document.Version -- PKEY_Document_Version + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 29 + + + + + Name: System.Document.WordCount -- PKEY_Document_WordCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 15 (PIDSI_WORDCOUNT) + + + + + System.DRM Properties + + + + + Name: System.DRM.DatePlayExpires -- PKEY_DRM_DatePlayExpires + Description: Indicates when play expires for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 6 (PIDDRSI_PLAYEXPIRES) + + + + + Name: System.DRM.DatePlayStarts -- PKEY_DRM_DatePlayStarts + Description: Indicates when play starts for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 5 (PIDDRSI_PLAYSTARTS) + + + + + Name: System.DRM.Description -- PKEY_DRM_Description + Description: Displays the description for digital rights management. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 3 (PIDDRSI_DESCRIPTION) + + + + + Name: System.DRM.IsProtected -- PKEY_DRM_IsProtected + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 2 (PIDDRSI_PROTECTED) + + + + + Name: System.DRM.PlayCount -- PKEY_DRM_PlayCount + Description: Indicates the play count for digital rights management. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 4 (PIDDRSI_PLAYCOUNT) + + + + + System.GPS Properties + + + + + Name: System.GPS.Altitude -- PKEY_GPS_Altitude + Description: Indicates the altitude based on the reference in PKEY_GPS_AltitudeRef. Calculated from PKEY_GPS_AltitudeNumerator and + PKEY_GPS_AltitudeDenominator + + Type: Double -- VT_R8 + FormatID: {827EDB4F-5B73-44A7-891D-FDFFABEA35CA}, 100 + + + + + Name: System.GPS.AltitudeDenominator -- PKEY_GPS_AltitudeDenominator + Description: Denominator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {78342DCB-E358-4145-AE9A-6BFE4E0F9F51}, 100 + + + + + Name: System.GPS.AltitudeNumerator -- PKEY_GPS_AltitudeNumerator + Description: Numerator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {2DAD1EB7-816D-40D3-9EC3-C9773BE2AADE}, 100 + + + + + Name: System.GPS.AltitudeRef -- PKEY_GPS_AltitudeRef + Description: Indicates the reference for the altitude property. (eg: above sea level, below sea level, absolute value) + + Type: Byte -- VT_UI1 + FormatID: {46AC629D-75EA-4515-867F-6DC4321C5844}, 100 + + + + + Name: System.GPS.AreaInformation -- PKEY_GPS_AreaInformation + Description: Represents the name of the GPS area + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {972E333E-AC7E-49F1-8ADF-A70D07A9BCAB}, 100 + + + + + Name: System.GPS.Date -- PKEY_GPS_Date + Description: Date and time of the GPS record + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3602C812-0F3B-45F0-85AD-603468D69423}, 100 + + + + + Name: System.GPS.DestBearing -- PKEY_GPS_DestBearing + Description: Indicates the bearing to the destination point. Calculated from PKEY_GPS_DestBearingNumerator and + PKEY_GPS_DestBearingDenominator. + + Type: Double -- VT_R8 + FormatID: {C66D4B3C-E888-47CC-B99F-9DCA3EE34DEA}, 100 + + + + + Name: System.GPS.DestBearingDenominator -- PKEY_GPS_DestBearingDenominator + Description: Denominator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {7ABCF4F8-7C3F-4988-AC91-8D2C2E97ECA5}, 100 + + + + + Name: System.GPS.DestBearingNumerator -- PKEY_GPS_DestBearingNumerator + Description: Numerator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {BA3B1DA9-86EE-4B5D-A2A4-A271A429F0CF}, 100 + + + + + Name: System.GPS.DestBearingRef -- PKEY_GPS_DestBearingRef + Description: Indicates the reference used for the giving the bearing to the destination point. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AB84393-2A0F-4B75-BB22-7279786977CB}, 100 + + + + + Name: System.GPS.DestDistance -- PKEY_GPS_DestDistance + Description: Indicates the distance to the destination point. Calculated from PKEY_GPS_DestDistanceNumerator and + PKEY_GPS_DestDistanceDenominator. + + Type: Double -- VT_R8 + FormatID: {A93EAE04-6804-4F24-AC81-09B266452118}, 100 + + + + + Name: System.GPS.DestDistanceDenominator -- PKEY_GPS_DestDistanceDenominator + Description: Denominator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {9BC2C99B-AC71-4127-9D1C-2596D0D7DCB7}, 100 + + + + + Name: System.GPS.DestDistanceNumerator -- PKEY_GPS_DestDistanceNumerator + Description: Numerator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {2BDA47DA-08C6-4FE1-80BC-A72FC517C5D0}, 100 + + + + + Name: System.GPS.DestDistanceRef -- PKEY_GPS_DestDistanceRef + Description: Indicates the unit used to express the distance to the destination. (eg: kilometers, miles, knots) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ED4DF2D3-8695-450B-856F-F5C1C53ACB66}, 100 + + + + + Name: System.GPS.DestLatitude -- PKEY_GPS_DestLatitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLatitudeNumerator and + PKEY_GPS_DestLatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {9D1D7CC5-5C39-451C-86B3-928E2D18CC47}, 100 + + + + + Name: System.GPS.DestLatitudeDenominator -- PKEY_GPS_DestLatitudeDenominator + Description: Denominator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {3A372292-7FCA-49A7-99D5-E47BB2D4E7AB}, 100 + + + + + Name: System.GPS.DestLatitudeNumerator -- PKEY_GPS_DestLatitudeNumerator + Description: Numerator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {ECF4B6F6-D5A6-433C-BB92-4076650FC890}, 100 + + + + + Name: System.GPS.DestLatitudeRef -- PKEY_GPS_DestLatitudeRef + Description: Indicates whether the latitude destination point is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CEA820B9-CE61-4885-A128-005D9087C192}, 100 + + + + + Name: System.GPS.DestLongitude -- PKEY_GPS_DestLongitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLongitudeNumerator and + PKEY_GPS_DestLongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {47A96261-CB4C-4807-8AD3-40B9D9DBC6BC}, 100 + + + + + Name: System.GPS.DestLongitudeDenominator -- PKEY_GPS_DestLongitudeDenominator + Description: Denominator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {425D69E5-48AD-4900-8D80-6EB6B8D0AC86}, 100 + + + + + Name: System.GPS.DestLongitudeNumerator -- PKEY_GPS_DestLongitudeNumerator + Description: Numerator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {A3250282-FB6D-48D5-9A89-DBCACE75CCCF}, 100 + + + + + Name: System.GPS.DestLongitudeRef -- PKEY_GPS_DestLongitudeRef + Description: Indicates whether the longitude destination point is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {182C1EA6-7C1C-4083-AB4B-AC6C9F4ED128}, 100 + + + + + Name: System.GPS.Differential -- PKEY_GPS_Differential + Description: Indicates whether differential correction was applied to the GPS receiver + + Type: UInt16 -- VT_UI2 + FormatID: {AAF4EE25-BD3B-4DD7-BFC4-47F77BB00F6D}, 100 + + + + + Name: System.GPS.DOP -- PKEY_GPS_DOP + Description: Indicates the GPS DOP (data degree of precision). Calculated from PKEY_GPS_DOPNumerator and PKEY_GPS_DOPDenominator + + Type: Double -- VT_R8 + FormatID: {0CF8FB02-1837-42F1-A697-A7017AA289B9}, 100 + + + + + Name: System.GPS.DOPDenominator -- PKEY_GPS_DOPDenominator + Description: Denominator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {A0BE94C5-50BA-487B-BD35-0654BE8881ED}, 100 + + + + + Name: System.GPS.DOPNumerator -- PKEY_GPS_DOPNumerator + Description: Numerator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {47166B16-364F-4AA0-9F31-E2AB3DF449C3}, 100 + + + + + Name: System.GPS.ImgDirection -- PKEY_GPS_ImgDirection + Description: Indicates direction of the image when it was captured. Calculated from PKEY_GPS_ImgDirectionNumerator and + PKEY_GPS_ImgDirectionDenominator. + + Type: Double -- VT_R8 + FormatID: {16473C91-D017-4ED9-BA4D-B6BAA55DBCF8}, 100 + + + + + Name: System.GPS.ImgDirectionDenominator -- PKEY_GPS_ImgDirectionDenominator + Description: Denominator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {10B24595-41A2-4E20-93C2-5761C1395F32}, 100 + + + + + Name: System.GPS.ImgDirectionNumerator -- PKEY_GPS_ImgDirectionNumerator + Description: Numerator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {DC5877C7-225F-45F7-BAC7-E81334B6130A}, 100 + + + + + Name: System.GPS.ImgDirectionRef -- PKEY_GPS_ImgDirectionRef + Description: Indicates reference for giving the direction of the image when it was captured. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A4AAA5B7-1AD0-445F-811A-0F8F6E67F6B5}, 100 + + + + + Name: System.GPS.Latitude -- PKEY_GPS_Latitude + Description: Indicates the latitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LatitudeNumerator and PKEY_GPS_LatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {8727CFFF-4868-4EC6-AD5B-81B98521D1AB}, 100 + + + + + Name: System.GPS.LatitudeDenominator -- PKEY_GPS_LatitudeDenominator + Description: Denominator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {16E634EE-2BFF-497B-BD8A-4341AD39EEB9}, 100 + + + + + Name: System.GPS.LatitudeNumerator -- PKEY_GPS_LatitudeNumerator + Description: Numerator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {7DDAAAD1-CCC8-41AE-B750-B2CB8031AEA2}, 100 + + + + + Name: System.GPS.LatitudeRef -- PKEY_GPS_LatitudeRef + Description: Indicates whether latitude is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {029C0252-5B86-46C7-ACA0-2769FFC8E3D4}, 100 + + + + + Name: System.GPS.Longitude -- PKEY_GPS_Longitude + Description: Indicates the longitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LongitudeNumerator and PKEY_GPS_LongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {C4C4DBB2-B593-466B-BBDA-D03D27D5E43A}, 100 + + + + + Name: System.GPS.LongitudeDenominator -- PKEY_GPS_LongitudeDenominator + Description: Denominator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {BE6E176C-4534-4D2C-ACE5-31DEDAC1606B}, 100 + + + + + Name: System.GPS.LongitudeNumerator -- PKEY_GPS_LongitudeNumerator + Description: Numerator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {02B0F689-A914-4E45-821D-1DDA452ED2C4}, 100 + + + + + Name: System.GPS.LongitudeRef -- PKEY_GPS_LongitudeRef + Description: Indicates whether longitude is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {33DCF22B-28D5-464C-8035-1EE9EFD25278}, 100 + + + + + Name: System.GPS.MapDatum -- PKEY_GPS_MapDatum + Description: Indicates the geodetic survey data used by the GPS receiver + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2CA2DAE6-EDDC-407D-BEF1-773942ABFA95}, 100 + + + + + Name: System.GPS.MeasureMode -- PKEY_GPS_MeasureMode + Description: Indicates the GPS measurement mode. (eg: 2-dimensional, 3-dimensional) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A015ED5D-AAEA-4D58-8A86-3C586920EA0B}, 100 + + + + + Name: System.GPS.ProcessingMethod -- PKEY_GPS_ProcessingMethod + Description: Indicates the name of the method used for location finding + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59D49E61-840F-4AA9-A939-E2099B7F6399}, 100 + + + + + Name: System.GPS.Satellites -- PKEY_GPS_Satellites + Description: Indicates the GPS satellites used for measurements + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {467EE575-1F25-4557-AD4E-B8B58B0D9C15}, 100 + + + + + Name: System.GPS.Speed -- PKEY_GPS_Speed + Description: Indicates the speed of the GPS receiver movement. Calculated from PKEY_GPS_SpeedNumerator and + PKEY_GPS_SpeedDenominator. + + Type: Double -- VT_R8 + FormatID: {DA5D0862-6E76-4E1B-BABD-70021BD25494}, 100 + + + + + Name: System.GPS.SpeedDenominator -- PKEY_GPS_SpeedDenominator + Description: Denominator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {7D122D5A-AE5E-4335-8841-D71E7CE72F53}, 100 + + + + + Name: System.GPS.SpeedNumerator -- PKEY_GPS_SpeedNumerator + Description: Numerator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {ACC9CE3D-C213-4942-8B48-6D0820F21C6D}, 100 + + + + + Name: System.GPS.SpeedRef -- PKEY_GPS_SpeedRef + Description: Indicates the unit used to express the speed of the GPS receiver movement. (eg: kilometers per hour, + miles per hour, knots). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ECF7F4C9-544F-4D6D-9D98-8AD79ADAF453}, 100 + + + + + Name: System.GPS.Status -- PKEY_GPS_Status + Description: Indicates the status of the GPS receiver when the image was recorded. (eg: measurement in progress, + measurement interoperability). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {125491F4-818F-46B2-91B5-D537753617B2}, 100 + + + + + Name: System.GPS.Track -- PKEY_GPS_Track + Description: Indicates the direction of the GPS receiver movement. Calculated from PKEY_GPS_TrackNumerator and + PKEY_GPS_TrackDenominator. + + Type: Double -- VT_R8 + FormatID: {76C09943-7C33-49E3-9E7E-CDBA872CFADA}, 100 + + + + + Name: System.GPS.TrackDenominator -- PKEY_GPS_TrackDenominator + Description: Denominator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {C8D1920C-01F6-40C0-AC86-2F3A4AD00770}, 100 + + + + + Name: System.GPS.TrackNumerator -- PKEY_GPS_TrackNumerator + Description: Numerator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {702926F4-44A6-43E1-AE71-45627116893B}, 100 + + + + + Name: System.GPS.TrackRef -- PKEY_GPS_TrackRef + Description: Indicates reference for the direction of the GPS receiver movement. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {35DBE6FE-44C3-4400-AAAE-D2C799C407E8}, 100 + + + + + Name: System.GPS.VersionID -- PKEY_GPS_VersionID + Description: Indicates the version of the GPS information + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {22704DA4-C6B2-4A99-8E56-F16DF8C92599}, 100 + + + + + System.Identity Properties + + + + + Name: System.Identity.Blob -- PKEY_Identity_Blob + Description: Blob used to import/export identities + + Type: Blob -- VT_BLOB + FormatID: {8C3B93A4-BAED-1A83-9A32-102EE313F6EB}, 100 + + + + + Name: System.Identity.DisplayName -- PKEY_Identity_DisplayName + Description: Display Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7D683FC9-D155-45A8-BB1F-89D19BCB792F}, 100 + + + + + Name: System.Identity.IsMeIdentity -- PKEY_Identity_IsMeIdentity + Description: Is it Me Identity + + Type: Boolean -- VT_BOOL + FormatID: {A4108708-09DF-4377-9DFC-6D99986D5A67}, 100 + + + + + Name: System.Identity.PrimaryEmailAddress -- PKEY_Identity_PrimaryEmailAddress + Description: Primary Email Address + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FCC16823-BAED-4F24-9B32-A0982117F7FA}, 100 + + + + + Name: System.Identity.ProviderID -- PKEY_Identity_ProviderID + Description: Provider ID + + Type: Guid -- VT_CLSID + FormatID: {74A7DE49-FA11-4D3D-A006-DB7E08675916}, 100 + + + + + Name: System.Identity.UniqueID -- PKEY_Identity_UniqueID + Description: Unique ID + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E55FC3B0-2B60-4220-918E-B21E8BF16016}, 100 + + + + + Name: System.Identity.UserName -- PKEY_Identity_UserName + Description: Identity User Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C4322503-78CA-49C6-9ACC-A68E2AFD7B6B}, 100 + + + + + System.IdentityProvider Properties + + + + + Name: System.IdentityProvider.Name -- PKEY_IdentityProvider_Name + Description: Identity Provider Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B96EFF7B-35CA-4A35-8607-29E3A54C46EA}, 100 + + + + + Name: System.IdentityProvider.Picture -- PKEY_IdentityProvider_Picture + Description: Picture for the Identity Provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2425166F-5642-4864-992F-98FD98F294C3}, 100 + + + + + System.Image Properties + + + + + Name: System.Image.BitDepth -- PKEY_Image_BitDepth + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 7 (PIDISI_BITDEPTH) + + + + + Name: System.Image.ColorSpace -- PKEY_Image_ColorSpace + Description: PropertyTagExifColorSpace + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 40961 + + + + + Name: System.Image.CompressedBitsPerPixel -- PKEY_Image_CompressedBitsPerPixel + Description: Calculated from PKEY_Image_CompressedBitsPerPixelNumerator and PKEY_Image_CompressedBitsPerPixelDenominator. + + Type: Double -- VT_R8 + FormatID: {364B6FA9-37AB-482A-BE2B-AE02F60D4318}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelDenominator -- PKEY_Image_CompressedBitsPerPixelDenominator + Description: Denominator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {1F8844E1-24AD-4508-9DFD-5326A415CE02}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelNumerator -- PKEY_Image_CompressedBitsPerPixelNumerator + Description: Numerator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {D21A7148-D32C-4624-8900-277210F79C0F}, 100 + + + + + Name: System.Image.Compression -- PKEY_Image_Compression + Description: Indicates the image compression level. PropertyTagCompression. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 259 + + + + + Name: System.Image.CompressionText -- PKEY_Image_CompressionText + Description: This is the user-friendly form of System.Image.Compression. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3F08E66F-2F44-4BB9-A682-AC35D2562322}, 100 + + + + + Name: System.Image.Dimensions -- PKEY_Image_Dimensions + Description: Indicates the dimensions of the image. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 13 (PIDISI_DIMENSIONS) + + + + + Name: System.Image.HorizontalResolution -- PKEY_Image_HorizontalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 5 (PIDISI_RESOLUTIONX) + + + + + Name: System.Image.HorizontalSize -- PKEY_Image_HorizontalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 3 (PIDISI_CX) + + + + + Name: System.Image.ImageID -- PKEY_Image_ImageID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10DABE05-32AA-4C29-BF1A-63E2D220587F}, 100 + + + + + Name: System.Image.ResolutionUnit -- PKEY_Image_ResolutionUnit + Description: + Type: Int16 -- VT_I2 + FormatID: {19B51FA6-1F92-4A5C-AB48-7DF0ABD67444}, 100 + + + + + Name: System.Image.VerticalResolution -- PKEY_Image_VerticalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 6 (PIDISI_RESOLUTIONY) + + + + + Name: System.Image.VerticalSize -- PKEY_Image_VerticalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 4 (PIDISI_CY) + + + + + System.Journal Properties + + + + + Name: System.Journal.Contacts -- PKEY_Journal_Contacts + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {DEA7C82C-1D89-4A66-9427-A4E3DEBABCB1}, 100 + + + + + Name: System.Journal.EntryType -- PKEY_Journal_EntryType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95BEB1FC-326D-4644-B396-CD3ED90E6DDF}, 100 + + + + + System.LayoutPattern Properties + + + + + Name: System.LayoutPattern.ContentViewModeForBrowse -- PKEY_LayoutPattern_ContentViewModeForBrowse + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of browsing. + Register the regvalue under the name of "ContentViewModeLayoutPatternForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 500 + + + + + Name: System.LayoutPattern.ContentViewModeForSearch -- PKEY_LayoutPattern_ContentViewModeForSearch + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of searching. + Register the regvalue under the name of "ContentViewModeLayoutPatternForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 501 + + + + + System.Link Properties + + + + + Name: System.Link.Arguments -- PKEY_Link_Arguments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {436F2667-14E2-4FEB-B30A-146C53B5B674}, 100 + + + + + Name: System.Link.Comment -- PKEY_Link_Comment + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 5 + + + + + Name: System.Link.DateVisited -- PKEY_Link_DateVisited + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 23 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Description -- PKEY_Link_Description + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 21 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Status -- PKEY_Link_Status + Description: + + Type: Int32 -- VT_I4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 3 (PID_LINK_TARGET_TYPE) + + + + + Name: System.Link.TargetExtension -- PKEY_Link_TargetExtension + Description: The file extension of the link target. See System.File.Extension + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {7A7D76F4-B630-4BD7-95FF-37CC51A975C9}, 2 + + + + + Name: System.Link.TargetParsingPath -- PKEY_Link_TargetParsingPath + Description: This is the shell namespace path to the target of the link item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the target item is a file, the value is identical to System.ItemPathDisplay. + + If the target item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 2 (PID_LINK_TARGET) + + + + + Name: System.Link.TargetSFGAOFlags -- PKEY_Link_TargetSFGAOFlags + Description: IShellFolder::GetAttributesOf flags for the target of a link, with SFGAO_PKEYSFGAOMASK + attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 8 + + + + + Name: System.Link.TargetSFGAOFlagsStrings -- PKEY_Link_TargetSFGAOFlagsStrings + Description: Expresses the SFGAO flags of a link as string values and is used as a query optimization. See + PKEY_Shell_SFGAOFlagsStrings for possible values of this. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 3 + + + + + Name: System.Link.TargetUrl -- PKEY_Link_TargetUrl + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 2 (PKEYs relating to URLs. Used by IE History.) + + + + + System.Media Properties + + + + + Name: System.Media.AuthorUrl -- PKEY_Media_AuthorUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 32 (PIDMSI_AUTHOR_URL) + + + + + Name: System.Media.AverageLevel -- PKEY_Media_AverageLevel + Description: + Type: UInt32 -- VT_UI4 + FormatID: {09EDD5B6-B301-43C5-9990-D00302EFFD46}, 100 + + + + + Name: System.Media.ClassPrimaryID -- PKEY_Media_ClassPrimaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 13 (PIDMSI_CLASS_PRIMARY_ID) + + + + + Name: System.Media.ClassSecondaryID -- PKEY_Media_ClassSecondaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 14 (PIDMSI_CLASS_SECONDARY_ID) + + + + + Name: System.Media.CollectionGroupID -- PKEY_Media_CollectionGroupID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 24 (PIDMSI_COLLECTION_GROUP_ID) + + + + + Name: System.Media.CollectionID -- PKEY_Media_CollectionID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 25 (PIDMSI_COLLECTION_ID) + + + + + Name: System.Media.ContentDistributor -- PKEY_Media_ContentDistributor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 18 (PIDMSI_CONTENTDISTRIBUTOR) + + + + + Name: System.Media.ContentID -- PKEY_Media_ContentID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 26 (PIDMSI_CONTENT_ID) + + + + + Name: System.Media.CreatorApplication -- PKEY_Media_CreatorApplication + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 27 (PIDMSI_TOOL_NAME) + + + + + Name: System.Media.CreatorApplicationVersion -- PKEY_Media_CreatorApplicationVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 28 (PIDMSI_TOOL_VERSION) + + + + + Name: System.Media.DateEncoded -- PKEY_Media_DateEncoded + Description: DateTime is in UTC (in the doc, not file system). + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2E4B640D-5019-46D8-8881-55414CC5CAA0}, 100 + + + + + Name: System.Media.DateReleased -- PKEY_Media_DateReleased + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE41CC29-6971-4290-B472-F59F2E2F31E2}, 100 + + + + + Name: System.Media.Duration -- PKEY_Media_Duration + Description: 100ns units, not milliseconds + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 3 (PIDASI_TIMELENGTH) + + + + + Name: System.Media.DVDID -- PKEY_Media_DVDID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 15 (PIDMSI_DVDID) + + + + + Name: System.Media.EncodedBy -- PKEY_Media_EncodedBy + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 36 (PIDMSI_ENCODED_BY) + + + + + Name: System.Media.EncodingSettings -- PKEY_Media_EncodingSettings + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 37 (PIDMSI_ENCODING_SETTINGS) + + + + + Name: System.Media.FrameCount -- PKEY_Media_FrameCount + Description: Indicates the frame count for the image. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 12 (PIDISI_FRAMECOUNT) + + + + + Name: System.Media.MCDI -- PKEY_Media_MCDI + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 16 (PIDMSI_MCDI) + + + + + Name: System.Media.MetadataContentProvider -- PKEY_Media_MetadataContentProvider + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 17 (PIDMSI_PROVIDER) + + + + + Name: System.Media.Producer -- PKEY_Media_Producer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 22 (PIDMSI_PRODUCER) + + + + + Name: System.Media.PromotionUrl -- PKEY_Media_PromotionUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 33 (PIDMSI_PROMOTION_URL) + + + + + Name: System.Media.ProtectionType -- PKEY_Media_ProtectionType + Description: If media is protected, how is it protected? + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 38 + + + + + Name: System.Media.ProviderRating -- PKEY_Media_ProviderRating + Description: Rating (0 - 99) supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 39 + + + + + Name: System.Media.ProviderStyle -- PKEY_Media_ProviderStyle + Description: Style of music or video, supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 40 + + + + + Name: System.Media.Publisher -- PKEY_Media_Publisher + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 30 (PIDMSI_PUBLISHER) + + + + + Name: System.Media.SubscriptionContentId -- PKEY_Media_SubscriptionContentId + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AEBAE7A-9644-487D-A92C-657585ED751A}, 100 + + + + + Name: System.Media.SubTitle -- PKEY_Media_SubTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 38 (PIDSI_MUSIC_SUB_TITLE) + + + + + Name: System.Media.UniqueFileIdentifier -- PKEY_Media_UniqueFileIdentifier + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 35 (PIDMSI_UNIQUE_FILE_IDENTIFIER) + + + + + Name: System.Media.UserNoAutoInfo -- PKEY_Media_UserNoAutoInfo + Description: If true, do NOT alter this file's metadata. Set by user. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 41 + + + + + Name: System.Media.UserWebUrl -- PKEY_Media_UserWebUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 34 (PIDMSI_USER_WEB_URL) + + + + + Name: System.Media.Writer -- PKEY_Media_Writer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 23 (PIDMSI_WRITER) + + + + + Name: System.Media.Year -- PKEY_Media_Year + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 (PIDSI_MUSIC_YEAR) + + + + + System.Message Properties + + + + + Name: System.Message.AttachmentContents -- PKEY_Message_AttachmentContents + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3143BF7C-80A8-4854-8880-E2E40189BDD0}, 100 + + + + + Name: System.Message.AttachmentNames -- PKEY_Message_AttachmentNames + Description: The names of the attachments in a message + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 21 + + + + + Name: System.Message.BccAddress -- PKEY_Message_BccAddress + Description: Addresses in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 2 + + + + + Name: System.Message.BccName -- PKEY_Message_BccName + Description: person names in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 3 + + + + + Name: System.Message.CcAddress -- PKEY_Message_CcAddress + Description: Addresses in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 4 + + + + + Name: System.Message.CcName -- PKEY_Message_CcName + Description: person names in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 5 + + + + + Name: System.Message.ConversationID -- PKEY_Message_ConversationID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 100 + + + + + Name: System.Message.ConversationIndex -- PKEY_Message_ConversationIndex + Description: + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 101 + + + + + Name: System.Message.DateReceived -- PKEY_Message_DateReceived + Description: Date and Time communication was received + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 20 + + + + + Name: System.Message.DateSent -- PKEY_Message_DateSent + Description: Date and Time communication was sent + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 19 + + + + + Name: System.Message.Flags -- PKEY_Message_Flags + Description: These are flags associated with email messages to know if a read receipt is pending, etc. + The values stored here by Outlook are defined for PR_MESSAGE_FLAGS on MSDN. + + Type: Int32 -- VT_I4 + FormatID: {A82D9EE7-CA67-4312-965E-226BCEA85023}, 100 + + + + + Name: System.Message.FromAddress -- PKEY_Message_FromAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 13 + + + + + Name: System.Message.FromName -- PKEY_Message_FromName + Description: Address in from field as person name + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 14 + + + + + Name: System.Message.HasAttachments -- PKEY_Message_HasAttachments + Description: + + Type: Boolean -- VT_BOOL + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 8 + + + + + Name: System.Message.IsFwdOrReply -- PKEY_Message_IsFwdOrReply + Description: + Type: Int32 -- VT_I4 + FormatID: {9A9BC088-4F6D-469E-9919-E705412040F9}, 100 + + + + + Name: System.Message.MessageClass -- PKEY_Message_MessageClass + Description: What type of outlook msg this is (meeting, task, mail, etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD9ED458-08CE-418F-A70E-F912C7BB9C5C}, 103 + + + + + Name: System.Message.ProofInProgress -- PKEY_Message_ProofInProgress + Description: This property will be true if the message junk email proofing is still in progress. + + Type: Boolean -- VT_BOOL + FormatID: {9098F33C-9A7D-48A8-8DE5-2E1227A64E91}, 100 + + + + + Name: System.Message.SenderAddress -- PKEY_Message_SenderAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0BE1C8E7-1981-4676-AE14-FDD78F05A6E7}, 100 + + + + + Name: System.Message.SenderName -- PKEY_Message_SenderName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0DA41CFA-D224-4A18-AE2F-596158DB4B3A}, 100 + + + + + Name: System.Message.Store -- PKEY_Message_Store + Description: The store (aka protocol handler) FILE, MAIL, OUTLOOKEXPRESS + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 15 + + + + + Name: System.Message.ToAddress -- PKEY_Message_ToAddress + Description: Addresses in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 16 + + + + + Name: System.Message.ToDoFlags -- PKEY_Message_ToDoFlags + Description: Flags associated with a message flagged to know if it's still active, if it was custom flagged, etc. + + Type: Int32 -- VT_I4 + FormatID: {1F856A9F-6900-4ABA-9505-2D5F1B4D66CB}, 100 + + + + + Name: System.Message.ToDoTitle -- PKEY_Message_ToDoTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCCC8A3C-8CEF-42E5-9B1C-C69079398BC7}, 100 + + + + + Name: System.Message.ToName -- PKEY_Message_ToName + Description: Person names in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 17 + + + + + System.Music Properties + + + + + Name: System.Music.AlbumArtist -- PKEY_Music_AlbumArtist + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 13 (PIDSI_MUSIC_ALBUM_ARTIST) + + + + + Name: System.Music.AlbumID -- PKEY_Music_AlbumID + Description: Concatenation of System.Music.AlbumArtist and System.Music.AlbumTitle, suitable for indexing and display. + Used to differentiate albums with the same title from different artists. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 100 + + + + + Name: System.Music.AlbumTitle -- PKEY_Music_AlbumTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 4 (PIDSI_MUSIC_ALBUM) + + + + + Name: System.Music.Artist -- PKEY_Music_Artist + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 2 (PIDSI_MUSIC_ARTIST) + + + + + Name: System.Music.BeatsPerMinute -- PKEY_Music_BeatsPerMinute + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 35 (PIDSI_MUSIC_BEATS_PER_MINUTE) + + + + + Name: System.Music.Composer -- PKEY_Music_Composer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 19 (PIDMSI_COMPOSER) + + + + + Name: System.Music.Conductor -- PKEY_Music_Conductor + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 36 (PIDSI_MUSIC_CONDUCTOR) + + + + + Name: System.Music.ContentGroupDescription -- PKEY_Music_ContentGroupDescription + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 33 (PIDSI_MUSIC_CONTENT_GROUP_DESCRIPTION) + + + + + Name: System.Music.DisplayArtist -- PKEY_Music_DisplayArtist + Description: This property returns the best representation of Album Artist for a given music file + based upon AlbumArtist, ContributingArtist and compilation info. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FD122953-FA93-4EF7-92C3-04C946B2F7C8}, 100 + + + + + Name: System.Music.Genre -- PKEY_Music_Genre + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 11 (PIDSI_MUSIC_GENRE) + + + + + Name: System.Music.InitialKey -- PKEY_Music_InitialKey + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 34 (PIDSI_MUSIC_INITIAL_KEY) + + + + + Name: System.Music.IsCompilation -- PKEY_Music_IsCompilation + Description: Indicates whether the file is part of a compilation. + + Type: Boolean -- VT_BOOL + FormatID: {C449D5CB-9EA4-4809-82E8-AF9D59DED6D1}, 100 + + + + + Name: System.Music.Lyrics -- PKEY_Music_Lyrics + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 12 (PIDSI_MUSIC_LYRICS) + + + + + Name: System.Music.Mood -- PKEY_Music_Mood + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 39 (PIDSI_MUSIC_MOOD) + + + + + Name: System.Music.PartOfSet -- PKEY_Music_PartOfSet + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 37 (PIDSI_MUSIC_PART_OF_SET) + + + + + Name: System.Music.Period -- PKEY_Music_Period + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 31 (PIDMSI_PERIOD) + + + + + Name: System.Music.SynchronizedLyrics -- PKEY_Music_SynchronizedLyrics + Description: + Type: Blob -- VT_BLOB + FormatID: {6B223B6A-162E-4AA9-B39F-05D678FC6D77}, 100 + + + + + Name: System.Music.TrackNumber -- PKEY_Music_TrackNumber + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 7 (PIDSI_MUSIC_TRACK) + + + + + System.Note Properties + + + + + Name: System.Note.Color -- PKEY_Note_Color + Description: + Type: UInt16 -- VT_UI2 + FormatID: {4776CAFA-BCE4-4CB1-A23E-265E76D8EB11}, 100 + + + + + Name: System.Note.ColorText -- PKEY_Note_ColorText + Description: This is the user-friendly form of System.Note.Color. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {46B4E8DE-CDB2-440D-885C-1658EB65B914}, 100 + + + + + System.Photo Properties + + + + + Name: System.Photo.Aperture -- PKEY_Photo_Aperture + Description: PropertyTagExifAperture. Calculated from PKEY_Photo_ApertureNumerator and PKEY_Photo_ApertureDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37378 + + + + + Name: System.Photo.ApertureDenominator -- PKEY_Photo_ApertureDenominator + Description: Denominator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {E1A9A38B-6685-46BD-875E-570DC7AD7320}, 100 + + + + + Name: System.Photo.ApertureNumerator -- PKEY_Photo_ApertureNumerator + Description: Numerator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {0337ECEC-39FB-4581-A0BD-4C4CC51E9914}, 100 + + + + + Name: System.Photo.Brightness -- PKEY_Photo_Brightness + Description: This is the brightness of the photo. + + Calculated from PKEY_Photo_BrightnessNumerator and PKEY_Photo_BrightnessDenominator. + + The units are "APEX", normally in the range of -99.99 to 99.99. If the numerator of + the recorded value is FFFFFFFF.H, "Unknown" should be indicated. + + Type: Double -- VT_R8 + FormatID: {1A701BF6-478C-4361-83AB-3701BB053C58}, 100 (PropertyTagExifBrightness) + + + + + Name: System.Photo.BrightnessDenominator -- PKEY_Photo_BrightnessDenominator + Description: Denominator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {6EBE6946-2321-440A-90F0-C043EFD32476}, 100 + + + + + Name: System.Photo.BrightnessNumerator -- PKEY_Photo_BrightnessNumerator + Description: Numerator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {9E7D118F-B314-45A0-8CFB-D654B917C9E9}, 100 + + + + + Name: System.Photo.CameraManufacturer -- PKEY_Photo_CameraManufacturer + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 271 (PropertyTagEquipMake) + + + + + Name: System.Photo.CameraModel -- PKEY_Photo_CameraModel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 272 (PropertyTagEquipModel) + + + + + Name: System.Photo.CameraSerialNumber -- PKEY_Photo_CameraSerialNumber + Description: Serial number of camera that produced this photo + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 273 + + + + + Name: System.Photo.Contrast -- PKEY_Photo_Contrast + Description: This indicates the direction of contrast processing applied by the camera + when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {2A785BA9-8D23-4DED-82E6-60A350C86A10}, 100 + + + + + Name: System.Photo.ContrastText -- PKEY_Photo_ContrastText + Description: This is the user-friendly form of System.Photo.Contrast. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59DDE9F2-5253-40EA-9A8B-479E96C6249A}, 100 + + + + + Name: System.Photo.DateTaken -- PKEY_Photo_DateTaken + Description: PropertyTagExifDTOrig + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 36867 + + + + + Name: System.Photo.DigitalZoom -- PKEY_Photo_DigitalZoom + Description: PropertyTagExifDigitalZoom. Calculated from PKEY_Photo_DigitalZoomNumerator and PKEY_Photo_DigitalZoomDenominator + + Type: Double -- VT_R8 + FormatID: {F85BF840-A925-4BC2-B0C4-8E36B598679E}, 100 + + + + + Name: System.Photo.DigitalZoomDenominator -- PKEY_Photo_DigitalZoomDenominator + Description: Denominator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {745BAF0E-E5C1-4CFB-8A1B-D031A0A52393}, 100 + + + + + Name: System.Photo.DigitalZoomNumerator -- PKEY_Photo_DigitalZoomNumerator + Description: Numerator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {16CBB924-6500-473B-A5BE-F1599BCBE413}, 100 + + + + + Name: System.Photo.Event -- PKEY_Photo_Event + Description: The event at which the photo was taken + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18248 + + + + + Name: System.Photo.EXIFVersion -- PKEY_Photo_EXIFVersion + Description: The EXIF version. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D35F743A-EB2E-47F2-A286-844132CB1427}, 100 + + + + + Name: System.Photo.ExposureBias -- PKEY_Photo_ExposureBias + Description: PropertyTagExifExposureBias. Calculated from PKEY_Photo_ExposureBiasNumerator and PKEY_Photo_ExposureBiasDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37380 + + + + + Name: System.Photo.ExposureBiasDenominator -- PKEY_Photo_ExposureBiasDenominator + Description: Denominator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {AB205E50-04B7-461C-A18C-2F233836E627}, 100 + + + + + Name: System.Photo.ExposureBiasNumerator -- PKEY_Photo_ExposureBiasNumerator + Description: Numerator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {738BF284-1D87-420B-92CF-5834BF6EF9ED}, 100 + + + + + Name: System.Photo.ExposureIndex -- PKEY_Photo_ExposureIndex + Description: PropertyTagExifExposureIndex. Calculated from PKEY_Photo_ExposureIndexNumerator and PKEY_Photo_ExposureIndexDenominator + + Type: Double -- VT_R8 + FormatID: {967B5AF8-995A-46ED-9E11-35B3C5B9782D}, 100 + + + + + Name: System.Photo.ExposureIndexDenominator -- PKEY_Photo_ExposureIndexDenominator + Description: Denominator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {93112F89-C28B-492F-8A9D-4BE2062CEE8A}, 100 + + + + + Name: System.Photo.ExposureIndexNumerator -- PKEY_Photo_ExposureIndexNumerator + Description: Numerator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {CDEDCF30-8919-44DF-8F4C-4EB2FFDB8D89}, 100 + + + + + Name: System.Photo.ExposureProgram -- PKEY_Photo_ExposureProgram + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34850 (PropertyTagExifExposureProg) + + + + + Name: System.Photo.ExposureProgramText -- PKEY_Photo_ExposureProgramText + Description: This is the user-friendly form of System.Photo.ExposureProgram. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FEC690B7-5F30-4646-AE47-4CAAFBA884A3}, 100 + + + + + Name: System.Photo.ExposureTime -- PKEY_Photo_ExposureTime + Description: PropertyTagExifExposureTime. Calculated from PKEY_Photo_ExposureTimeNumerator and PKEY_Photo_ExposureTimeDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33434 + + + + + Name: System.Photo.ExposureTimeDenominator -- PKEY_Photo_ExposureTimeDenominator + Description: Denominator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {55E98597-AD16-42E0-B624-21599A199838}, 100 + + + + + Name: System.Photo.ExposureTimeNumerator -- PKEY_Photo_ExposureTimeNumerator + Description: Numerator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {257E44E2-9031-4323-AC38-85C552871B2E}, 100 + + + + + Name: System.Photo.Flash -- PKEY_Photo_Flash + Description: PropertyTagExifFlash + + Type: Byte -- VT_UI1 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37385 + + + + + Name: System.Photo.FlashEnergy -- PKEY_Photo_FlashEnergy + Description: PropertyTagExifFlashEnergy. Calculated from PKEY_Photo_FlashEnergyNumerator and PKEY_Photo_FlashEnergyDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 41483 + + + + + Name: System.Photo.FlashEnergyDenominator -- PKEY_Photo_FlashEnergyDenominator + Description: Denominator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {D7B61C70-6323-49CD-A5FC-C84277162C97}, 100 + + + + + Name: System.Photo.FlashEnergyNumerator -- PKEY_Photo_FlashEnergyNumerator + Description: Numerator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {FCAD3D3D-0858-400F-AAA3-2F66CCE2A6BC}, 100 + + + + + Name: System.Photo.FlashManufacturer -- PKEY_Photo_FlashManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AABAF6C9-E0C5-4719-8585-57B103E584FE}, 100 + + + + + Name: System.Photo.FlashModel -- PKEY_Photo_FlashModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FE83BB35-4D1A-42E2-916B-06F3E1AF719E}, 100 + + + + + Name: System.Photo.FlashText -- PKEY_Photo_FlashText + Description: This is the user-friendly form of System.Photo.Flash. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8B68F6-200B-47EA-8D25-D8050F57339F}, 100 + + + + + Name: System.Photo.FNumber -- PKEY_Photo_FNumber + Description: PropertyTagExifFNumber. Calculated from PKEY_Photo_FNumberNumerator and PKEY_Photo_FNumberDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33437 + + + + + Name: System.Photo.FNumberDenominator -- PKEY_Photo_FNumberDenominator + Description: Denominator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {E92A2496-223B-4463-A4E3-30EABBA79D80}, 100 + + + + + Name: System.Photo.FNumberNumerator -- PKEY_Photo_FNumberNumerator + Description: Numerator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {1B97738A-FDFC-462F-9D93-1957E08BE90C}, 100 + + + + + Name: System.Photo.FocalLength -- PKEY_Photo_FocalLength + Description: PropertyTagExifFocalLength. Calculated from PKEY_Photo_FocalLengthNumerator and PKEY_Photo_FocalLengthDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37386 + + + + + Name: System.Photo.FocalLengthDenominator -- PKEY_Photo_FocalLengthDenominator + Description: Denominator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {305BC615-DCA1-44A5-9FD4-10C0BA79412E}, 100 + + + + + Name: System.Photo.FocalLengthInFilm -- PKEY_Photo_FocalLengthInFilm + Description: + Type: UInt16 -- VT_UI2 + FormatID: {A0E74609-B84D-4F49-B860-462BD9971F98}, 100 + + + + + Name: System.Photo.FocalLengthNumerator -- PKEY_Photo_FocalLengthNumerator + Description: Numerator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {776B6B3B-1E3D-4B0C-9A0E-8FBAF2A8492A}, 100 + + + + + Name: System.Photo.FocalPlaneXResolution -- PKEY_Photo_FocalPlaneXResolution + Description: PropertyTagExifFocalXRes. Calculated from PKEY_Photo_FocalPlaneXResolutionNumerator and + PKEY_Photo_FocalPlaneXResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {CFC08D97-C6F7-4484-89DD-EBEF4356FE76}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionDenominator -- PKEY_Photo_FocalPlaneXResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {0933F3F5-4786-4F46-A8E8-D64DD37FA521}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionNumerator -- PKEY_Photo_FocalPlaneXResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {DCCB10AF-B4E2-4B88-95F9-031B4D5AB490}, 100 + + + + + Name: System.Photo.FocalPlaneYResolution -- PKEY_Photo_FocalPlaneYResolution + Description: PropertyTagExifFocalYRes. Calculated from PKEY_Photo_FocalPlaneYResolutionNumerator and + PKEY_Photo_FocalPlaneYResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {4FFFE4D0-914F-4AC4-8D6F-C9C61DE169B1}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionDenominator -- PKEY_Photo_FocalPlaneYResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {1D6179A6-A876-4031-B013-3347B2B64DC8}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionNumerator -- PKEY_Photo_FocalPlaneYResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {A2E541C5-4440-4BA8-867E-75CFC06828CD}, 100 + + + + + Name: System.Photo.GainControl -- PKEY_Photo_GainControl + Description: This indicates the degree of overall image gain adjustment. + + Calculated from PKEY_Photo_GainControlNumerator and PKEY_Photo_GainControlDenominator. + + Type: Double -- VT_R8 + FormatID: {FA304789-00C7-4D80-904A-1E4DCC7265AA}, 100 (PropertyTagExifGainControl) + + + + + Name: System.Photo.GainControlDenominator -- PKEY_Photo_GainControlDenominator + Description: Denominator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {42864DFD-9DA4-4F77-BDED-4AAD7B256735}, 100 + + + + + Name: System.Photo.GainControlNumerator -- PKEY_Photo_GainControlNumerator + Description: Numerator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {8E8ECF7C-B7B8-4EB8-A63F-0EE715C96F9E}, 100 + + + + + Name: System.Photo.GainControlText -- PKEY_Photo_GainControlText + Description: This is the user-friendly form of System.Photo.GainControl. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C06238B2-0BF9-4279-A723-25856715CB9D}, 100 + + + + + Name: System.Photo.ISOSpeed -- PKEY_Photo_ISOSpeed + Description: PropertyTagExifISOSpeed + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34855 + + + + + Name: System.Photo.LensManufacturer -- PKEY_Photo_LensManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E6DDCAF7-29C5-4F0A-9A68-D19412EC7090}, 100 + + + + + Name: System.Photo.LensModel -- PKEY_Photo_LensModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1277516-2B5F-4869-89B1-2E585BD38B7A}, 100 + + + + + Name: System.Photo.LightSource -- PKEY_Photo_LightSource + Description: PropertyTagExifLightSource + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37384 + + + + + Name: System.Photo.MakerNote -- PKEY_Photo_MakerNote + Description: + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {FA303353-B659-4052-85E9-BCAC79549B84}, 100 + + + + + Name: System.Photo.MakerNoteOffset -- PKEY_Photo_MakerNoteOffset + Description: + Type: UInt64 -- VT_UI8 + FormatID: {813F4124-34E6-4D17-AB3E-6B1F3C2247A1}, 100 + + + + + Name: System.Photo.MaxAperture -- PKEY_Photo_MaxAperture + Description: Calculated from PKEY_Photo_MaxApertureNumerator and PKEY_Photo_MaxApertureDenominator + + Type: Double -- VT_R8 + FormatID: {08F6D7C2-E3F2-44FC-AF1E-5AA5C81A2D3E}, 100 + + + + + Name: System.Photo.MaxApertureDenominator -- PKEY_Photo_MaxApertureDenominator + Description: Denominator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C77724D4-601F-46C5-9B89-C53F93BCEB77}, 100 + + + + + Name: System.Photo.MaxApertureNumerator -- PKEY_Photo_MaxApertureNumerator + Description: Numerator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C107E191-A459-44C5-9AE6-B952AD4B906D}, 100 + + + + + Name: System.Photo.MeteringMode -- PKEY_Photo_MeteringMode + Description: PropertyTagExifMeteringMode + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37383 + + + + + Name: System.Photo.MeteringModeText -- PKEY_Photo_MeteringModeText + Description: This is the user-friendly form of System.Photo.MeteringMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F628FD8C-7BA8-465A-A65B-C5AA79263A9E}, 100 + + + + + Name: System.Photo.Orientation -- PKEY_Photo_Orientation + Description: This is the image orientation viewed in terms of rows and columns. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 274 (PropertyTagOrientation) + + + + + Name: System.Photo.OrientationText -- PKEY_Photo_OrientationText + Description: This is the user-friendly form of System.Photo.Orientation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A9EA193C-C511-498A-A06B-58E2776DCC28}, 100 + + + + + Name: System.Photo.PeopleNames -- PKEY_Photo_PeopleNames + Description: The people tags on an image. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {E8309B6E-084C-49B4-B1FC-90A80331B638}, 100 + + + + + Name: System.Photo.PhotometricInterpretation -- PKEY_Photo_PhotometricInterpretation + Description: This is the pixel composition. In JPEG compressed data, a JPEG marker is used + instead of this property. + + Type: UInt16 -- VT_UI2 + FormatID: {341796F1-1DF9-4B1C-A564-91BDEFA43877}, 100 + + + + + Name: System.Photo.PhotometricInterpretationText -- PKEY_Photo_PhotometricInterpretationText + Description: This is the user-friendly form of System.Photo.PhotometricInterpretation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {821437D6-9EAB-4765-A589-3B1CBBD22A61}, 100 + + + + + Name: System.Photo.ProgramMode -- PKEY_Photo_ProgramMode + Description: This is the class of the program used by the camera to set exposure when the + picture is taken. + + Type: UInt32 -- VT_UI4 + FormatID: {6D217F6D-3F6A-4825-B470-5F03CA2FBE9B}, 100 + + + + + Name: System.Photo.ProgramModeText -- PKEY_Photo_ProgramModeText + Description: This is the user-friendly form of System.Photo.ProgramMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7FE3AA27-2648-42F3-89B0-454E5CB150C3}, 100 + + + + + Name: System.Photo.RelatedSoundFile -- PKEY_Photo_RelatedSoundFile + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {318A6B45-087F-4DC2-B8CC-05359551FC9E}, 100 + + + + + Name: System.Photo.Saturation -- PKEY_Photo_Saturation + Description: This indicates the direction of saturation processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {49237325-A95A-4F67-B211-816B2D45D2E0}, 100 + + + + + Name: System.Photo.SaturationText -- PKEY_Photo_SaturationText + Description: This is the user-friendly form of System.Photo.Saturation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {61478C08-B600-4A84-BBE4-E99C45F0A072}, 100 + + + + + Name: System.Photo.Sharpness -- PKEY_Photo_Sharpness + Description: This indicates the direction of sharpness processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {FC6976DB-8349-4970-AE97-B3C5316A08F0}, 100 + + + + + Name: System.Photo.SharpnessText -- PKEY_Photo_SharpnessText + Description: This is the user-friendly form of System.Photo.Sharpness. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {51EC3F47-DD50-421D-8769-334F50424B1E}, 100 + + + + + Name: System.Photo.ShutterSpeed -- PKEY_Photo_ShutterSpeed + Description: PropertyTagExifShutterSpeed. Calculated from PKEY_Photo_ShutterSpeedNumerator and PKEY_Photo_ShutterSpeedDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37377 + + + + + Name: System.Photo.ShutterSpeedDenominator -- PKEY_Photo_ShutterSpeedDenominator + Description: Denominator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {E13D8975-81C7-4948-AE3F-37CAE11E8FF7}, 100 + + + + + Name: System.Photo.ShutterSpeedNumerator -- PKEY_Photo_ShutterSpeedNumerator + Description: Numerator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {16EA4042-D6F4-4BCA-8349-7C78D30FB333}, 100 + + + + + Name: System.Photo.SubjectDistance -- PKEY_Photo_SubjectDistance + Description: PropertyTagExifSubjectDist. Calculated from PKEY_Photo_SubjectDistanceNumerator and PKEY_Photo_SubjectDistanceDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37382 + + + + + Name: System.Photo.SubjectDistanceDenominator -- PKEY_Photo_SubjectDistanceDenominator + Description: Denominator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {0C840A88-B043-466D-9766-D4B26DA3FA77}, 100 + + + + + Name: System.Photo.SubjectDistanceNumerator -- PKEY_Photo_SubjectDistanceNumerator + Description: Numerator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {8AF4961C-F526-43E5-AA81-DB768219178D}, 100 + + + + + Name: System.Photo.TagViewAggregate -- PKEY_Photo_TagViewAggregate + Description: A read-only aggregation of tag-like properties for use in building views. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {B812F15D-C2D8-4BBF-BACD-79744346113F}, 100 + + + + + Name: System.Photo.TranscodedForSync -- PKEY_Photo_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: {9A8EBB75-6458-4E82-BACB-35C0095B03BB}, 100 + + + + + Name: System.Photo.WhiteBalance -- PKEY_Photo_WhiteBalance + Description: This indicates the white balance mode set when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {EE3D3D8A-5381-4CFA-B13B-AAF66B5F4EC9}, 100 + + + + + Name: System.Photo.WhiteBalanceText -- PKEY_Photo_WhiteBalanceText + Description: This is the user-friendly form of System.Photo.WhiteBalance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6336B95E-C7A7-426D-86FD-7AE3D39C84B4}, 100 + + + + + System.PropGroup Properties + + + + + Name: System.PropGroup.Advanced -- PKEY_PropGroup_Advanced + Description: + Type: Null -- VT_NULL + FormatID: {900A403B-097B-4B95-8AE2-071FDAEEB118}, 100 + + + + + Name: System.PropGroup.Audio -- PKEY_PropGroup_Audio + Description: + Type: Null -- VT_NULL + FormatID: {2804D469-788F-48AA-8570-71B9C187E138}, 100 + + + + + Name: System.PropGroup.Calendar -- PKEY_PropGroup_Calendar + Description: + Type: Null -- VT_NULL + FormatID: {9973D2B5-BFD8-438A-BA94-5349B293181A}, 100 + + + + + Name: System.PropGroup.Camera -- PKEY_PropGroup_Camera + Description: + Type: Null -- VT_NULL + FormatID: {DE00DE32-547E-4981-AD4B-542F2E9007D8}, 100 + + + + + Name: System.PropGroup.Contact -- PKEY_PropGroup_Contact + Description: + Type: Null -- VT_NULL + FormatID: {DF975FD3-250A-4004-858F-34E29A3E37AA}, 100 + + + + + Name: System.PropGroup.Content -- PKEY_PropGroup_Content + Description: + Type: Null -- VT_NULL + FormatID: {D0DAB0BA-368A-4050-A882-6C010FD19A4F}, 100 + + + + + Name: System.PropGroup.Description -- PKEY_PropGroup_Description + Description: + Type: Null -- VT_NULL + FormatID: {8969B275-9475-4E00-A887-FF93B8B41E44}, 100 + + + + + Name: System.PropGroup.FileSystem -- PKEY_PropGroup_FileSystem + Description: + Type: Null -- VT_NULL + FormatID: {E3A7D2C1-80FC-4B40-8F34-30EA111BDC2E}, 100 + + + + + Name: System.PropGroup.General -- PKEY_PropGroup_General + Description: + Type: Null -- VT_NULL + FormatID: {CC301630-B192-4C22-B372-9F4C6D338E07}, 100 + + + + + Name: System.PropGroup.GPS -- PKEY_PropGroup_GPS + Description: + Type: Null -- VT_NULL + FormatID: {F3713ADA-90E3-4E11-AAE5-FDC17685B9BE}, 100 + + + + + Name: System.PropGroup.Image -- PKEY_PropGroup_Image + Description: + Type: Null -- VT_NULL + FormatID: {E3690A87-0FA8-4A2A-9A9F-FCE8827055AC}, 100 + + + + + Name: System.PropGroup.Media -- PKEY_PropGroup_Media + Description: + Type: Null -- VT_NULL + FormatID: {61872CF7-6B5E-4B4B-AC2D-59DA84459248}, 100 + + + + + Name: System.PropGroup.MediaAdvanced -- PKEY_PropGroup_MediaAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {8859A284-DE7E-4642-99BA-D431D044B1EC}, 100 + + + + + Name: System.PropGroup.Message -- PKEY_PropGroup_Message + Description: + Type: Null -- VT_NULL + FormatID: {7FD7259D-16B4-4135-9F97-7C96ECD2FA9E}, 100 + + + + + Name: System.PropGroup.Music -- PKEY_PropGroup_Music + Description: + Type: Null -- VT_NULL + FormatID: {68DD6094-7216-40F1-A029-43FE7127043F}, 100 + + + + + Name: System.PropGroup.Origin -- PKEY_PropGroup_Origin + Description: + Type: Null -- VT_NULL + FormatID: {2598D2FB-5569-4367-95DF-5CD3A177E1A5}, 100 + + + + + Name: System.PropGroup.PhotoAdvanced -- PKEY_PropGroup_PhotoAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {0CB2BF5A-9EE7-4A86-8222-F01E07FDADAF}, 100 + + + + + Name: System.PropGroup.RecordedTV -- PKEY_PropGroup_RecordedTV + Description: + Type: Null -- VT_NULL + FormatID: {E7B33238-6584-4170-A5C0-AC25EFD9DA56}, 100 + + + + + Name: System.PropGroup.Video -- PKEY_PropGroup_Video + Description: + Type: Null -- VT_NULL + FormatID: {BEBE0920-7671-4C54-A3EB-49FDDFC191EE}, 100 + + + + + System.PropList Properties + + + + + Name: System.PropList.ConflictPrompt -- PKEY_PropList_ConflictPrompt + Description: The list of properties to show in the file operation conflict resolution dialog. Properties with empty + values will not be displayed. Register under the regvalue of "ConflictPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 11 + + + + + Name: System.PropList.ContentViewModeForBrowse -- PKEY_PropList_ContentViewModeForBrowse + Description: The list of properties to show in the content view mode of an item in the context of browsing. + Register the regvalue under the name of "ContentViewModeForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 13 + + + + + Name: System.PropList.ContentViewModeForSearch -- PKEY_PropList_ContentViewModeForSearch + Description: The list of properties to show in the content view mode of an item in the context of searching. + Register the regvalue under the name of "ContentViewModeForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 14 + + + + + Name: System.PropList.ExtendedTileInfo -- PKEY_PropList_ExtendedTileInfo + Description: The list of properties to show in the listview on extended tiles. Register under the regvalue of + "ExtendedTileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 9 + + + + + Name: System.PropList.FileOperationPrompt -- PKEY_PropList_FileOperationPrompt + Description: The list of properties to show in the file operation confirmation dialog. Properties with empty values + will not be displayed. If this list is not specified, then the InfoTip property list is used instead. + Register under the regvalue of "FileOperationPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 10 + + + + + Name: System.PropList.FullDetails -- PKEY_PropList_FullDetails + Description: The list of all the properties to show in the details page. Property groups can be included in this list + in order to more easily organize the UI. Register under the regvalue of "FullDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 2 + + + + + Name: System.PropList.InfoTip -- PKEY_PropList_InfoTip + Description: The list of properties to show in the infotip. Properties with empty values will not be displayed. Register + under the regvalue of "InfoTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 4 (PID_PROPLIST_INFOTIP) + + + + + Name: System.PropList.NonPersonal -- PKEY_PropList_NonPersonal + Description: The list of properties that are considered 'non-personal'. When told to remove all non-personal properties + from a given file, the system will leave these particular properties untouched. Register under the regvalue + of "NonPersonal". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49D1091F-082E-493F-B23F-D2308AA9668C}, 100 + + + + + Name: System.PropList.PreviewDetails -- PKEY_PropList_PreviewDetails + Description: The list of properties to display in the preview pane. Register under the regvalue of "PreviewDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 8 + + + + + Name: System.PropList.PreviewTitle -- PKEY_PropList_PreviewTitle + Description: The one or two properties to display in the preview pane title section. The optional second property is + displayed as a subtitle. Register under the regvalue of "PreviewTitle". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 6 + + + + + Name: System.PropList.QuickTip -- PKEY_PropList_QuickTip + Description: The list of properties to show in the infotip when the item is on a slow network. Properties with empty + values will not be displayed. Register under the regvalue of "QuickTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 5 (PID_PROPLIST_QUICKTIP) + + + + + Name: System.PropList.TileInfo -- PKEY_PropList_TileInfo + Description: The list of properties to show in the listview on tiles. Register under the regvalue of "TileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 3 (PID_PROPLIST_TILEINFO) + + + + + Name: System.PropList.XPDetailsPanel -- PKEY_PropList_XPDetailsPanel + Description: The list of properties to display in the XP webview details panel. Obsolete. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_WebView) {F2275480-F782-4291-BD94-F13693513AEC}, 0 (PID_DISPLAY_PROPERTIES) + + + + + System.RecordedTV Properties + + + + + Name: System.RecordedTV.ChannelNumber -- PKEY_RecordedTV_ChannelNumber + Description: Example: 42 + + Type: UInt32 -- VT_UI4 + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 7 + + + + + Name: System.RecordedTV.Credits -- PKEY_RecordedTV_Credits + Description: Example: "Don Messick/Frank Welker/Casey Kasem/Heather North/Nicole Jaffe;;;" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 4 + + + + + Name: System.RecordedTV.DateContentExpires -- PKEY_RecordedTV_DateContentExpires + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 15 + + + + + Name: System.RecordedTV.EpisodeName -- PKEY_RecordedTV_EpisodeName + Description: Example: "Nowhere to Hyde" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 2 + + + + + Name: System.RecordedTV.IsATSCContent -- PKEY_RecordedTV_IsATSCContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 16 + + + + + Name: System.RecordedTV.IsClosedCaptioningAvailable -- PKEY_RecordedTV_IsClosedCaptioningAvailable + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 12 + + + + + Name: System.RecordedTV.IsDTVContent -- PKEY_RecordedTV_IsDTVContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 17 + + + + + Name: System.RecordedTV.IsHDContent -- PKEY_RecordedTV_IsHDContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 18 + + + + + Name: System.RecordedTV.IsRepeatBroadcast -- PKEY_RecordedTV_IsRepeatBroadcast + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 13 + + + + + Name: System.RecordedTV.IsSAP -- PKEY_RecordedTV_IsSAP + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 14 + + + + + Name: System.RecordedTV.NetworkAffiliation -- PKEY_RecordedTV_NetworkAffiliation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2C53C813-FB63-4E22-A1AB-0B331CA1E273}, 100 + + + + + Name: System.RecordedTV.OriginalBroadcastDate -- PKEY_RecordedTV_OriginalBroadcastDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {4684FE97-8765-4842-9C13-F006447B178C}, 100 + + + + + Name: System.RecordedTV.ProgramDescription -- PKEY_RecordedTV_ProgramDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 3 + + + + + Name: System.RecordedTV.RecordingTime -- PKEY_RecordedTV_RecordingTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {A5477F61-7A82-4ECA-9DDE-98B69B2479B3}, 100 + + + + + Name: System.RecordedTV.StationCallSign -- PKEY_RecordedTV_StationCallSign + Description: Example: "TOONP" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 5 + + + + + Name: System.RecordedTV.StationName -- PKEY_RecordedTV_StationName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1B5439E7-EBA1-4AF8-BDD7-7AF1D4549493}, 100 + + + + + System.Search Properties + + + + + Name: System.Search.AutoSummary -- PKEY_Search_AutoSummary + Description: General Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 2 + + + + + Name: System.Search.ContainerHash -- PKEY_Search_ContainerHash + Description: Hash code used to identify attachments to be deleted based on a common container url + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCEEE283-35DF-4D53-826A-F36A3EEFC6BE}, 100 + + + + + Name: System.Search.Contents -- PKEY_Search_Contents + Description: The contents of the item. This property is for query restrictions only; it cannot be retrieved in a + query result. The Indexing Service friendly name is 'contents'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 19 (PID_STG_CONTENTS) + + + + + Name: System.Search.EntryID -- PKEY_Search_EntryID + Description: The entry ID for an item within a given catalog in the Windows Search Index. + This value may be recycled, and therefore is not considered unique over time. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 5 (PROPID_QUERY_WORKID) + + + + + Name: System.Search.ExtendedProperties -- PKEY_Search_ExtendedProperties + Description: + Type: Blob -- VT_BLOB + FormatID: {7B03B546-FA4F-4A52-A2FE-03D5311E5865}, 100 + + + + + Name: System.Search.GatherTime -- PKEY_Search_GatherTime + Description: The Datetime that the Windows Search Gatherer process last pushed properties of this document to the Windows Search Gatherer Plugins. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 8 + + + + + Name: System.Search.HitCount -- PKEY_Search_HitCount + Description: When using CONTAINS over the Windows Search Index, this is the number of matches of the term. + If there are multiple CONTAINS, an AND computes the min number of hits and an OR the max number of hits. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 4 (PROPID_QUERY_HITCOUNT) + + + + + Name: System.Search.IsClosedDirectory -- PKEY_Search_IsClosedDirectory + Description: If this property is emitted with a value of TRUE, then it indicates that this URL's last modified time applies to all of it's children, and if this URL is deleted then all of it's children are deleted as well. For example, this would be emitted as TRUE when emitting the URL of an email so that all attachments are tied to the last modified time of that email. + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 23 + + + + + Name: System.Search.IsFullyContained -- PKEY_Search_IsFullyContained + Description: Any child URL of a URL which has System.Search.IsClosedDirectory=TRUE must emit System.Search.IsFullyContained=TRUE. This ensures that the URL is not deleted at the end of a crawl because it hasn't been visited (which is the normal mechanism for detecting deletes). For example an email attachment would emit this property + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 24 + + + + + Name: System.Search.QueryFocusedSummary -- PKEY_Search_QueryFocusedSummary + Description: Query Focused Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 3 + + + + + Name: System.Search.QueryFocusedSummaryWithFallback -- PKEY_Search_QueryFocusedSummaryWithFallback + Description: Query Focused Summary of the document, if none is available it returns the AutoSummary. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 4 + + + + + Name: System.Search.Rank -- PKEY_Search_Rank + Description: Relevance rank of row. Ranges from 0-1000. Larger numbers = better matches. Query-time only. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 3 (PROPID_QUERY_RANK) + + + + + Name: System.Search.Store -- PKEY_Search_Store + Description: The identifier for the protocol handler that produced this item. (E.g. MAPI, CSC, FILE etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A06992B3-8CAF-4ED7-A547-B259E32AC9FC}, 100 + + + + + Name: System.Search.UrlToIndex -- PKEY_Search_UrlToIndex + Description: This property should be emitted by a container IFilter for each child URL within the container. The children will eventually be crawled by the indexer if they are within scope. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 2 + + + + + Name: System.Search.UrlToIndexWithModificationTime -- PKEY_Search_UrlToIndexWithModificationTime + Description: This property is the same as System.Search.UrlToIndex except that it includes the time the URL was last modified. This is an optimization for the indexer as it doesn't have to call back into the protocol handler to ask for this information to determine if the content needs to be indexed again. The property is a vector with two elements, a VT_LPWSTR with the URL and a VT_FILETIME for the last modified time. + + Type: Multivalue Any -- VT_VECTOR | VT_NULL (For variants: VT_ARRAY | VT_NULL) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 12 + + + + + System.Shell Properties + + + + + Name: System.Shell.OmitFromView -- PKEY_Shell_OmitFromView + Description: Set this to a string value of 'True' to omit this item from shell views + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE35258C-C695-4CBC-B982-38B0AD24CED0}, 2 + + + + + Name: System.Shell.SFGAOFlagsStrings -- PKEY_Shell_SFGAOFlagsStrings + Description: Expresses the SFGAO flags as string values and is used as a query optimization. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 2 + + + + + System.Software Properties + + + + + Name: System.Software.DateLastUsed -- PKEY_Software_DateLastUsed + Description: + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {841E4F90-FF59-4D16-8947-E81BBFFAB36D}, 16 + + + + + Name: System.Software.ProductName -- PKEY_Software_ProductName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 7 + + + + + System.Sync Properties + + + + + Name: System.Sync.Comments -- PKEY_Sync_Comments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 13 + + + + + Name: System.Sync.ConflictDescription -- PKEY_Sync_ConflictDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 4 + + + + + Name: System.Sync.ConflictFirstLocation -- PKEY_Sync_ConflictFirstLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 6 + + + + + Name: System.Sync.ConflictSecondLocation -- PKEY_Sync_ConflictSecondLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 7 + + + + + Name: System.Sync.HandlerCollectionID -- PKEY_Sync_HandlerCollectionID + Description: + Type: Guid -- VT_CLSID + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 2 + + + + + Name: System.Sync.HandlerID -- PKEY_Sync_HandlerID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 3 + + + + + Name: System.Sync.HandlerName -- PKEY_Sync_HandlerName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 2 + + + + + Name: System.Sync.HandlerType -- PKEY_Sync_HandlerType + Description: + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 8 + + + + + Name: System.Sync.HandlerTypeLabel -- PKEY_Sync_HandlerTypeLabel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 9 + + + + + Name: System.Sync.ItemID -- PKEY_Sync_ItemID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 6 + + + + + Name: System.Sync.ItemName -- PKEY_Sync_ItemName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 3 + + + + + Name: System.Sync.ProgressPercentage -- PKEY_Sync_ProgressPercentage + Description: An integer value between 0 and 100 representing the percentage completed. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 23 + + + + + Name: System.Sync.State -- PKEY_Sync_State + Description: Sync state. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 24 + + + + + Name: System.Sync.Status -- PKEY_Sync_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 10 + + + + + System.Task Properties + + + + + Name: System.Task.BillingInformation -- PKEY_Task_BillingInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D37D52C6-261C-4303-82B3-08B926AC6F12}, 100 + + + + + Name: System.Task.CompletionStatus -- PKEY_Task_CompletionStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {084D8A0A-E6D5-40DE-BF1F-C8820E7C877C}, 100 + + + + + Name: System.Task.Owner -- PKEY_Task_Owner + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08C7CC5F-60F2-4494-AD75-55E3E0B5ADD0}, 100 + + + + + System.Video Properties + + + + + Name: System.Video.Compression -- PKEY_Video_Compression + Description: Indicates the level of compression for the video stream. "Compression". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 10 (PIDVSI_COMPRESSION) + + + + + Name: System.Video.Director -- PKEY_Video_Director + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 20 (PIDMSI_DIRECTOR) + + + + + Name: System.Video.EncodingBitrate -- PKEY_Video_EncodingBitrate + Description: Indicates the data rate in "bits per second" for the video stream. "DataRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 8 (PIDVSI_DATA_RATE) + + + + + Name: System.Video.FourCC -- PKEY_Video_FourCC + Description: Indicates the 4CC for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 44 + + + + + Name: System.Video.FrameHeight -- PKEY_Video_FrameHeight + Description: Indicates the frame height for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 4 + + + + + Name: System.Video.FrameRate -- PKEY_Video_FrameRate + Description: Indicates the frame rate in "frames per millisecond" for the video stream. "FrameRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 6 (PIDVSI_FRAME_RATE) + + + + + Name: System.Video.FrameWidth -- PKEY_Video_FrameWidth + Description: Indicates the frame width for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 3 + + + + + Name: System.Video.HorizontalAspectRatio -- PKEY_Video_HorizontalAspectRatio + Description: Indicates the horizontal portion of the aspect ratio. The X portion of XX:YY, + like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 42 + + + + + Name: System.Video.SampleSize -- PKEY_Video_SampleSize + Description: Indicates the sample size in bits for the video stream. "SampleSize". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 9 (PIDVSI_SAMPLE_SIZE) + + + + + Name: System.Video.StreamName -- PKEY_Video_StreamName + Description: Indicates the name for the video stream. "StreamName". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 2 (PIDVSI_STREAM_NAME) + + + + + Name: System.Video.StreamNumber -- PKEY_Video_StreamNumber + Description: "Stream Number". + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 11 (PIDVSI_STREAM_NUMBER) + + + + + Name: System.Video.TotalBitrate -- PKEY_Video_TotalBitrate + Description: Indicates the total data rate in "bits per second" for all video and audio streams. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 43 (PIDVSI_TOTAL_BITRATE) + + + + + Name: System.Video.TranscodedForSync -- PKEY_Video_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 46 + + + + + Name: System.Video.VerticalAspectRatio -- PKEY_Video_VerticalAspectRatio + Description: Indicates the vertical portion of the aspect ratio. The Y portion of + XX:YY, like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 45 + + + + + System.Volume Properties + + + + + Name: System.Volume.FileSystem -- PKEY_Volume_FileSystem + Description: Indicates the filesystem of the volume. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 4 (PID_VOLUME_FILESYSTEM) (Filesystem Volume Properties) + + + + + Name: System.Volume.IsMappedDrive -- PKEY_Volume_IsMappedDrive + Description: + Type: Boolean -- VT_BOOL + FormatID: {149C0B69-2C2D-48FC-808F-D318D78C4636}, 2 + + + + + Name: System.Volume.IsRoot -- PKEY_Volume_IsRoot + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 10 (Filesystem Volume Properties) + + + + + Property store cache state + + + + + Contained in file, not updated. + + + + + Not contained in file. + + + + + Contained in file, has been updated since file was consumed. + + + + + Delineates the format of a property string. + + + Typically use one, or a bitwise combination of + these flags, to specify the format. Some flags are mutually exclusive, + so combinations like ShortTime | LongTime | HideTime are not allowed. + + + + + The format settings specified in the property's .propdesc file. + + + + + The value preceded with the property's display name. + + + This flag is ignored when the hideLabelPrefix attribute of the labelInfo element + in the property's .propinfo file is set to true. + + + + + The string treated as a file name. + + + + + The sizes displayed in kilobytes (KB), regardless of size. + + + This flag applies to properties of Integer types and aligns the values in the column. + + + + + Reserved. + + + + + The time displayed as 'hh:mm am/pm'. + + + + + The time displayed as 'hh:mm:ss am/pm'. + + + + + The time portion of date/time hidden. + + + + + The date displayed as 'MM/DD/YY'. For example, '3/21/04'. + + + + + The date displayed as 'DayOfWeek Month day, year'. + For example, 'Monday, March 21, 2004'. + + + + + The date portion of date/time hidden. + + + + + The friendly date descriptions, such as "Yesterday". + + + + + The text displayed in a text box as a cue for the user, such as 'Enter your name'. + + + The invitation text is returned if formatting failed or the value was empty. + Invitation text is text displayed in a text box as a cue for the user, + Formatting can fail if the data entered + is not of an expected type, such as putting alpha characters in + a phone number field. + + + + + This flag requires UseEditInvitation to also be specified. When the + formatting flags are ReadOnly | UseEditInvitation and the algorithm + would have shown invitation text, a string is returned that indicates + the value is "Unknown" instead of the invitation text. + + + + + The detection of the reading order is not automatic. Useful when converting + to ANSI to omit the Unicode reading order characters. + + + + + Smart display of DateTime values + + + + + Specifies the display types for a property. + + + + + The String Display. This is the default if the property doesn't specify a display type. + + + + + The Number Display. + + + + + The Boolean Display. + + + + + The DateTime Display. + + + + + The Enumerated Display. + + + + + Property Aggregation Type + + + + + The string "Multiple Values" is displayed. + + + + + The first value in the selection is displayed. + + + + + The sum of the selected values is displayed. This flag is never returned + for data types VT_LPWSTR, VT_BOOL, and VT_FILETIME. + + + + + The numerical average of the selected values is displayed. This flag + is never returned for data types VT_LPWSTR, VT_BOOL, and VT_FILETIME. + + + + + The date range of the selected values is displayed. This flag is only + returned for values of the VT_FILETIME data type. + + + + + A concatenated string of all the values is displayed. The order of + individual values in the string is undefined. The concatenated + string omits duplicate values; if a value occurs more than once, + it only appears a single time in the concatenated string. + + + + + The highest of the selected values is displayed. + + + + + The lowest of the selected values is displayed. + + + + + Property Enumeration Types + + + + + Use DisplayText and either RangeMinValue or RangeSetValue. + + + + + Use DisplayText and either RangeMinValue or RangeSetValue + + + + + Use DisplayText + + + + + Use Value or RangeMinValue + + + + + Describes how a property should be treated for display purposes. + + + + + Default value + + + + + The value is displayed as a string. + + + + + The value is displayed as an integer. + + + + + The value is displayed as a date/time. + + + + + A mask for display type values StringType, IntegerType, and DateType. + + + + + The column should be on by default in Details view. + + + + + Will be slow to compute. Perform on a background thread. + + + + + Provided by a handler, not the folder. + + + + + Not displayed in the context menu, but is listed in the More... dialog. + + + + + Not displayed in the user interface (UI). + + + + + VarCmp produces same result as IShellFolder::CompareIDs. + + + + + PSFormatForDisplay produces same result as IShellFolder::CompareIDs. + + + + + Do not sort folders separately. + + + + + Only displayed in the UI. + + + + + Marks columns with values that should be read in a batch. + + + + + Grouping is disabled for this column. + + + + + Can't resize the column. + + + + + The width is the same in all dots per inch (dpi)s. + + + + + Fixed width and height ratio. + + + + + Filters out new display flags. + + + + + Specifies the condition type to use when displaying the property in the query builder user interface (UI). + + + + + The default condition type. + + + + + The string type. + + + + + The size type. + + + + + The date/time type. + + + + + The Boolean type. + + + + + The number type. + + + + + Provides a set of flags to be used with IConditionFactory, + ICondition, and IConditionGenerator to indicate the operation. + + + + + The implicit comparison between the value of the property and the value of the constant. + + + + + The value of the property and the value of the constant must be equal. + + + + + The value of the property and the value of the constant must not be equal. + + + + + The value of the property must be less than the value of the constant. + + + + + The value of the property must be greater than the value of the constant. + + + + + The value of the property must be less than or equal to the value of the constant. + + + + + The value of the property must be greater than or equal to the value of the constant. + + + + + The value of the property must begin with the value of the constant. + + + + + The value of the property must end with the value of the constant. + + + + + The value of the property must contain the value of the constant. + + + + + The value of the property must not contain the value of the constant. + + + + + The value of the property must match the value of the constant, where '?' matches any single character and '*' matches any sequence of characters. + + + + + The value of the property must contain a word that is the value of the constant. + + + + + The value of the property must contain a word that begins with the value of the constant. + + + + + The application is free to interpret this in any suitable way. + + + + + Specifies the property description grouping ranges. + + + + + The individual values. + + + + + The static alphanumeric ranges. + + + + + The static size ranges. + + + + + The dynamically-created ranges. + + + + + The month and year groups. + + + + + The percent groups. + + + + + The enumerated groups. + + + + + Describes the particular wordings of sort offerings. + + + Note that the strings shown are English versions only; + localized strings are used for other locales. + + + + + The default ascending or descending property sort, "Sort going up", "Sort going down". + + + + + The alphabetical sort, "A on top", "Z on top". + + + + + The numerical sort, "Lowest on top", "Highest on top". + + + + + The size sort, "Smallest on top", "Largest on top". + + + + + The chronological sort, "Oldest on top", "Newest on top". + + + + + Describes the attributes of the typeInfo element in the property's .propdesc file. + + + + + The property uses the default values for all attributes. + + + + + The property can have multiple values. + + + These values are stored as a VT_VECTOR in the PROPVARIANT structure. + This value is set by the multipleValues attribute of the typeInfo element in the property's .propdesc file. + + + + + This property cannot be written to. + + + This value is set by the isInnate attribute of the typeInfo element in the property's .propdesc file. + + + + + The property is a group heading. + + + This value is set by the isGroup attribute of the typeInfo element in the property's .propdesc file. + + + + + The user can group by this property. + + + This value is set by the canGroupBy attribute of the typeInfo element in the property's .propdesc file. + + + + + The user can stack by this property. + + + This value is set by the canStackBy attribute of the typeInfo element in the property's .propdesc file. + + + + + This property contains a hierarchy. + + + This value is set by the isTreeProperty attribute of the typeInfo element in the property's .propdesc file. + + + + + Include this property in any full text query that is performed. + + + This value is set by the includeInFullTextQuery attribute of the typeInfo element in the property's .propdesc file. + + + + + This property is meant to be viewed by the user. + + + This influences whether the property shows up in the "Choose Columns" dialog, for example. + This value is set by the isViewable attribute of the typeInfo element in the property's .propdesc file. + + + + + This property is included in the list of properties that can be queried. + + + A queryable property must also be viewable. + This influences whether the property shows up in the query builder UI. + This value is set by the isQueryable attribute of the typeInfo element in the property's .propdesc file. + + + + + Used with an innate property (that is, a value calculated from other property values) to indicate that it can be deleted. + + + Windows Vista with Service Pack 1 (SP1) and later. + This value is used by the Remove Properties user interface (UI) to determine whether to display a check box next to an property that allows that property to be selected for removal. + Note that a property that is not innate can always be purged regardless of the presence or absence of this flag. + + + + + This property is owned by the system. + + + + + A mask used to retrieve all flags. + + + + + Associates property names with property description list strings. + + + + + The property is shown by default. + + + + + The property is centered. + + + + + The property is right aligned. + + + + + The property is shown as the beginning of the next collection of properties in the view. + + + + + The remainder of the view area is filled with the content of this property. + + + + + The property is reverse sorted if it is a property in a list of sorted properties. + + + + + The property is only shown if it is present. + + + + + The property is shown by default in a view (where applicable). + + + + + The property is shown by default in primary column selection user interface (UI). + + + + + The property is shown by default in secondary column selection UI. + + + + + The label is hidden if the view is normally inclined to show the label. + + + + + The property is not displayed as a column in the UI. + + + + + The property is wrapped to the next row. + + + + + A mask used to retrieve all flags. + + + + + Defines the enumeration values for a property type. + + + + + Gets display text from an enumeration information structure. + + + + + Gets an enumeration type from an enumeration information structure. + + + + + Gets a minimum value from an enumeration information structure. + + + + + Gets a set value from an enumeration information structure. + + + + + Gets a value from an enumeration information structure. + + + + + Factory class for creating typed ShellProperties. + Generates/caches expressions to create generic ShellProperties. + + + + + Creates a generic ShellProperty. + + PropertyKey + Shell object from which to get property + ShellProperty matching type of value in property. + + + + Creates a generic ShellProperty. + + PropertyKey + IPropertyStore from which to get property + ShellProperty matching type of value in property. + + + + Converts VarEnum to its associated .net Type. + + VarEnum value + Associated .net equivelent. + + + + Creates a property writer capable of setting multiple properties for a given ShellObject. + + + + + Reference to parent ShellObject (associated with this writer) + + + + + Writes the given property key and value. + + The property key. + The value associated with the key. + + + + Writes the given property key and value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The property key. + The value associated with the key. + True to allow truncation (default); otherwise False. + If the writable property store is already + closed. + If AllowTruncatedValue is set to false + and while setting the value on the property it had to be truncated in a string or rounded in + a numeric value. + + + + Writes the specified property given the canonical name and a value. + + The canonical name. + The property value. + + + + Writes the specified property given the canonical name and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The canonical name. + The property value. + True to allow truncation (default); otherwise False. + If the given canonical name is not valid. + + + + Writes the specified property using an IShellProperty and a value. + + The property name. + The property value. + + + + Writes the specified property given an IShellProperty and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The property name. + The property value. + True to allow truncation (default); otherwise False. + + + + Writes the specified property using a strongly-typed ShellProperty and a value. + + The type of the property name. + The property name. + The property value. + + + + Writes the specified property given a strongly-typed ShellProperty and a value. To allow truncation of the given value, set allowTruncatedValue + to true. + + The type of the property name. + The property name. + The property value. + True to allow truncation (default); otherwise False. + + + + Release the native objects. + + + + + + + + + + Release the native and managed objects. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + + Call this method to commit the writes (calls to WriteProperty method) + and dispose off the writer. + + + + + Base class for all the strongly-typed properties + + + + + Provides easy access to all the system properties (property keys and their descriptions) + + + + + Returns the property description for a given property key. + + Property key of the property whose description is required. + Property Description for a given property key + + + + Gets the property description for a given property's canonical name. + + Canonical name of the property whose description is required. + Property Description for a given property key + + + + System Properties + + + + + Name: System.AcquisitionID -- PKEY_AcquisitionID + Description: Hash to determine acquisition session. + + Type: Int32 -- VT_I4 + FormatID: {65A98875-3C80-40AB-ABBC-EFDAF77DBEE2}, 100 + + + + + Name: System.ApplicationName -- PKEY_ApplicationName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 18 (PIDSI_APPNAME) + + + + + Name: System.Author -- PKEY_Author + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 4 (PIDSI_AUTHOR) + + + + + Name: System.Capacity -- PKEY_Capacity + Description: The amount of total space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 3 (PID_VOLUME_CAPACITY) (Filesystem Volume Properties) + + + + + Name: System.Category -- PKEY_Category + Description: Legacy code treats this as VT_LPSTR. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 2 (PIDDSI_CATEGORY) + + + + + Name: System.Comment -- PKEY_Comment + Description: Comments. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 6 (PIDSI_COMMENTS) + + + + + Name: System.Company -- PKEY_Company + Description: The company or publisher. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 15 (PIDDSI_COMPANY) + + + + + Name: System.ComputerName -- PKEY_ComputerName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 5 (PID_COMPUTERNAME) + + + + + Name: System.ContainedItems -- PKEY_ContainedItems + Description: The list of type of items, this item contains. For example, this item contains urls, attachments etc. + This is represented as a vector array of GUIDs where each GUID represents certain type. + + Type: Multivalue Guid -- VT_VECTOR | VT_CLSID (For variants: VT_ARRAY | VT_CLSID) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 29 + + + + + Name: System.ContentStatus -- PKEY_ContentStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 27 + + + + + Name: System.ContentType -- PKEY_ContentType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 26 + + + + + Name: System.Copyright -- PKEY_Copyright + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 11 (PIDMSI_COPYRIGHT) + + + + + Name: System.DateAccessed -- PKEY_DateAccessed + Description: The time of the last access to the item. The Indexing Service friendly name is 'access'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 16 (PID_STG_ACCESSTIME) + + + + + Name: System.DateAcquired -- PKEY_DateAcquired + Description: The time the file entered the system via acquisition. This is not the same as System.DateImported. + Examples are when pictures are acquired from a camera, or when music is purchased online. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2CBAA8F5-D81F-47CA-B17A-F8D822300131}, 100 + + + + + Name: System.DateArchived -- PKEY_DateArchived + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {43F8D7B7-A444-4F87-9383-52271C9B915C}, 100 + + + + + Name: System.DateCompleted -- PKEY_DateCompleted + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FAB781-ACDA-43E5-B155-B2434F85E678}, 100 + + + + + Name: System.DateCreated -- PKEY_DateCreated + Description: The date and time the item was created. The Indexing Service friendly name is 'create'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 15 (PID_STG_CREATETIME) + + + + + Name: System.DateImported -- PKEY_DateImported + Description: The time the file is imported into a separate database. This is not the same as System.DateAcquired. (Eg, 2003:05:22 13:55:04) + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18258 + + + + + Name: System.DateModified -- PKEY_DateModified + Description: The date and time of the last write to the item. The Indexing Service friendly name is 'write'. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 14 (PID_STG_WRITETIME) + + + + + Name: System.DescriptionID -- PKEY_DescriptionID + Description: The contents of a SHDESCRIPTIONID structure as a buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 2 (PID_DESCRIPTIONID) + + + + + Name: System.DueDate -- PKEY_DueDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3F8472B5-E0AF-4DB2-8071-C53FE76AE7CE}, 100 + + + + + Name: System.EndDate -- PKEY_EndDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {C75FAA05-96FD-49E7-9CB4-9F601082D553}, 100 + + + + + Name: System.FileAllocationSize -- PKEY_FileAllocationSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 18 (PID_STG_ALLOCSIZE) + + + + + Name: System.FileAttributes -- PKEY_FileAttributes + Description: This is the WIN32_FIND_DATA dwFileAttributes for the file-based item. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 13 (PID_STG_ATTRIBUTES) + + + + + Name: System.FileCount -- PKEY_FileCount + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 12 + + + + + Name: System.FileDescription -- PKEY_FileDescription + Description: This is a user-friendly description of the file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 3 (PIDVSI_FileDescription) + + + + + Name: System.FileExtension -- PKEY_FileExtension + Description: This is the file extension of the file based item, including the leading period. + + If System.FileName is VT_EMPTY, then this property should be too. Otherwise, it should be derived + appropriately by the data source from System.FileName. If System.FileName does not have a file + extension, this value should be VT_EMPTY. + + To obtain the type of any item (including an item that is not a file), use System.ItemType. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\numbers.xls" ".xls" + "\\server\share\folder" VT_EMPTY + "c:\foo\MyFolder" VT_EMPTY + [desktop] VT_EMPTY + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E4F10A3C-49E6-405D-8288-A23BD4EEAA6C}, 100 + + + + + Name: System.FileFRN -- PKEY_FileFRN + Description: This is the unique file ID, also known as the File Reference Number. For a given file, this is the same value + as is found in the structure variable FILE_ID_BOTH_DIR_INFO.FileId, via GetFileInformationByHandleEx(). + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 21 (PID_STG_FRN) + + + + + Name: System.FileName -- PKEY_FileName + Description: This is the file name (including extension) of the file. + + It is possible that the item might not exist on a filesystem (ie, it may not be opened + using CreateFile). Nonetheless, if the item is represented as a file from the logical sense + (and its name follows standard Win32 file-naming syntax), then the data source should emit this property. + + If an item is not a file, then the value for this property is VT_EMPTY. See + System.ItemNameDisplay. + + This has the same value as System.ParsingName for items that are provided by the Shell's file folder. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello.txt" + "\\server\share\mydir\goodnews.doc" "goodnews.doc" + "\\server\share\numbers.xls" "numbers.xls" + "c:\foo\MyFolder" "MyFolder" + (email message) VT_EMPTY + (song on portable device) "song.wma" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {41CF5AE0-F75A-4806-BD87-59C7D9248EB9}, 100 + + + + + Name: System.FileOwner -- PKEY_FileOwner + Description: This is the owner of the file, according to the file system. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Misc) {9B174B34-40FF-11D2-A27E-00C04FC30871}, 4 (PID_MISC_OWNER) + + + + + Name: System.FileVersion -- PKEY_FileVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 4 (PIDVSI_FileVersion) + + + + + Name: System.FindData -- PKEY_FindData + Description: WIN32_FIND_DATAW in buffer of bytes. + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 0 (PID_FINDDATA) + + + + + Name: System.FlagColor -- PKEY_FlagColor + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {67DF94DE-0CA7-4D6F-B792-053A3E4F03CF}, 100 + + + + + Name: System.FlagColorText -- PKEY_FlagColorText + Description: This is the user-friendly form of System.FlagColor. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {45EAE747-8E2A-40AE-8CBF-CA52ABA6152A}, 100 + + + + + Name: System.FlagStatus -- PKEY_FlagStatus + Description: Status of Flag. Values: (0=none 1=white 2=Red). cdoPR_FLAG_STATUS + + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 12 + + + + + Name: System.FlagStatusText -- PKEY_FlagStatusText + Description: This is the user-friendly form of System.FlagStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC54FD2E-189D-4871-AA01-08C2F57A4ABC}, 100 + + + + + Name: System.FreeSpace -- PKEY_FreeSpace + Description: The amount of free space in bytes. + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 2 (PID_VOLUME_FREE) (Filesystem Volume Properties) + + + + + Name: System.FullText -- PKEY_FullText + Description: This PKEY is used to specify search terms that should be applied as broadly as possible, + across all valid properties for the data source(s) being searched. It should not be + emitted from a data source. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 6 + + + + + Name: System.Identity -- PKEY_Identity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A26F4AFC-7346-4299-BE47-EB1AE613139F}, 100 + + + + + Name: System.ImageParsingName -- PKEY_ImageParsingName + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D7750EE0-C6A4-48EC-B53E-B87B52E6D073}, 100 + + + + + Name: System.Importance -- PKEY_Importance + Description: + Type: Int32 -- VT_I4 + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 11 + + + + + Name: System.ImportanceText -- PKEY_ImportanceText + Description: This is the user-friendly form of System.Importance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A3B29791-7713-4E1D-BB40-17DB85F01831}, 100 + + + + + Name: System.InfoTipText -- PKEY_InfoTipText + Description: The text (with formatted property values) to show in the infotip. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 17 + + + + + Name: System.InternalName -- PKEY_InternalName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 5 (PIDVSI_InternalName) + + + + + Name: System.IsAttachment -- PKEY_IsAttachment + Description: Identifies if this item is an attachment. + + Type: Boolean -- VT_BOOL + FormatID: {F23F425C-71A1-4FA8-922F-678EA4A60408}, 100 + + + + + Name: System.IsDefaultNonOwnerSaveLocation -- PKEY_IsDefaultNonOwnerSaveLocation + Description: Identifies the default save location for a library for non-owners of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 5 + + + + + Name: System.IsDefaultSaveLocation -- PKEY_IsDefaultSaveLocation + Description: Identifies the default save location for a library for the owner of the library + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 3 + + + + + Name: System.IsDeleted -- PKEY_IsDeleted + Description: + Type: Boolean -- VT_BOOL + FormatID: {5CDA5FC8-33EE-4FF3-9094-AE7BD8868C4D}, 100 + + + + + Name: System.IsEncrypted -- PKEY_IsEncrypted + Description: Is the item encrypted? + + Type: Boolean -- VT_BOOL + FormatID: {90E5E14E-648B-4826-B2AA-ACAF790E3513}, 10 + + + + + Name: System.IsFlagged -- PKEY_IsFlagged + Description: + Type: Boolean -- VT_BOOL + FormatID: {5DA84765-E3FF-4278-86B0-A27967FBDD03}, 100 + + + + + Name: System.IsFlaggedComplete -- PKEY_IsFlaggedComplete + Description: + Type: Boolean -- VT_BOOL + FormatID: {A6F360D2-55F9-48DE-B909-620E090A647C}, 100 + + + + + Name: System.IsIncomplete -- PKEY_IsIncomplete + Description: Identifies if the message was not completely received for some error condition. + + Type: Boolean -- VT_BOOL + FormatID: {346C8BD1-2E6A-4C45-89A4-61B78E8E700F}, 100 + + + + + Name: System.IsLocationSupported -- PKEY_IsLocationSupported + Description: A bool value to know if a location is supported (locally indexable, or remotely indexed). + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 8 + + + + + Name: System.IsPinnedToNameSpaceTree -- PKEY_IsPinnedToNameSpaceTree + Description: A bool value to know if a shell folder is pinned to the navigation pane + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 2 + + + + + Name: System.IsRead -- PKEY_IsRead + Description: Has the item been read? + + Type: Boolean -- VT_BOOL + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 10 + + + + + Name: System.IsSearchOnlyItem -- PKEY_IsSearchOnlyItem + Description: Identifies if a location or a library is search only + + Type: Boolean -- VT_BOOL + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 4 + + + + + Name: System.IsSendToTarget -- PKEY_IsSendToTarget + Description: Provided by certain shell folders. Return TRUE if the folder is a valid Send To target. + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 33 + + + + + Name: System.IsShared -- PKEY_IsShared + Description: Is this item shared? This only checks for ACLs that are not inherited. + + Type: Boolean -- VT_BOOL + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 100 + + + + + Name: System.ItemAuthors -- PKEY_ItemAuthors + Description: This is the generic list of authors associated with an item. + + For example, the artist name for a track is the item author. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D0A04F0A-462A-48A4-BB2F-3706E88DBD7D}, 100 + + + + + Name: System.ItemClassType -- PKEY_ItemClassType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {048658AD-2DB8-41A4-BBB6-AC1EF1207EB1}, 100 + + + + + Name: System.ItemDate -- PKEY_ItemDate + Description: This is the main date for an item. The date of interest. + + For example, for photos this maps to System.Photo.DateTaken. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {F7DB74B4-4287-4103-AFBA-F1B13DCD75CF}, 100 + + + + + Name: System.ItemFolderNameDisplay -- PKEY_ItemFolderNameDisplay + Description: This is the user-friendly display name of the parent folder of an item. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it + should be derived appropriately by the data source from System.ItemFolderPathDisplay. + + If the folder is a file folder, the value will be localized if a localized name is available. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar" + "\\server\share\mydir\goodnews.doc" "mydir" + "\\server\share\numbers.xls" "share" + "c:\foo\MyFolder" "foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 2 (PID_STG_DIRECTORY) + + + + + Name: System.ItemFolderPathDisplay -- PKEY_ItemFolderPathDisplay + Description: This is the user-friendly display path of the parent folder of an item. + + If System.ItemPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir" + "\\server\share\numbers.xls" "\\server\share" + "c:\foo\MyFolder" "c:\foo" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 6 + + + + + Name: System.ItemFolderPathDisplayNarrow -- PKEY_ItemFolderPathDisplayNarrow + Description: This is the user-friendly display path of the parent folder of an item. The format of the string + should be tailored such that the folder name comes first, to optimize for a narrow viewing column. + + If the folder is a file folder, the value includes localized names if they are present. + + If System.ItemFolderPathDisplay is VT_EMPTY, then this property should be too. Otherwise, it should + be derived appropriately by the data source from System.ItemFolderPathDisplay. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "bar (c:\foo)" + "\\server\share\mydir\goodnews.doc" "mydir (\\server\share)" + "\\server\share\numbers.xls" "share (\\server)" + "c:\foo\MyFolder" "foo (c:\)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Inbox (/Mailbox Account)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DABD30ED-0043-4789-A7F8-D013A4736622}, 100 + + + + + Name: System.ItemName -- PKEY_ItemName + Description: This is the base-name of the System.ItemNameDisplay. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + If the item is a message, then the value of this property does not include the forwarding or + reply prefixes (see System.ItemNamePrefix). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8DA074-3B5C-43BC-886F-0A2CDCE00B6F}, 100 + + + + + Name: System.ItemNameDisplay -- PKEY_ItemNameDisplay + Description: This is the display name in "most complete" form. This is the best effort unique representation + of the name of an item that makes sense for end users to read. It is the concatentation of + System.ItemNamePrefix and System.ItemName. + + If the item is a file this property + includes the extension in all cases, and will be localized if a localized name is available. + + There are acceptable cases when System.FileName is not VT_EMPTY, yet the value of this property + is completely different. Email messages are a key example. If the item is an email message, + the item name is likely the subject. In that case, the value must be the concatenation of the + System.ItemNamePrefix and System.ItemName. Since the value of System.ItemNamePrefix excludes + any trailing whitespace, the concatenation must include a whitespace when generating System.ItemNameDisplay. + + Note that this property is not guaranteed to be unique, but the idea is to promote the most likely + candidate that can be unique and also makes sense for end users. For example, for documents, you + might think about using System.Title as the System.ItemNameDisplay, but in practice the title of + the documents may not be useful or unique enough to be of value as the sole System.ItemNameDisplay. + Instead, providing the value of System.FileName as the value of System.ItemNameDisplay is a better + candidate. In Windows Mail, the emails are stored in the file system as .eml files and the + System.FileName for those files are not human-friendly as they contain GUIDs. In this example, + promoting System.Subject as System.ItemNameDisplay makes more sense. + + Compatibility notes: + + Shell folder implementations on Vista: use PKEY_ItemNameDisplay for the name column when + you want Explorer to call ISF::GetDisplayNameOf(SHGDN_NORMAL) to get the value of the name. Use + another PKEY (like PKEY_ItemName) when you want Explorer to call either the folder's property store or + ISF2::GetDetailsEx in order to get the value of the name. + + Shell folder implementations on XP: the first column needs to be the name column, and Explorer + will call ISF::GetDisplayNameOf to get the value of the name. The PKEY/SCID does not matter. + + Example values: + + File: "hello.txt" + Message: "Re: Let's talk about Tom's argyle socks!" + Device folder: "song.wma" + Folder: "Documents" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 10 (PID_STG_NAME) + + + + + Name: System.ItemNamePrefix -- PKEY_ItemNamePrefix + Description: This is the prefix of an item, used for email messages. + where the subject begins with "Re:" which is the prefix. + + If the item is a file, then the value of this property is VT_EMPTY. + + If the item is a message, then the value of this property is the forwarding or reply + prefixes (including delimiting colon, but no whitespace), or VT_EMPTY if there is no prefix. + + Example values: + + System.ItemNamePrefix System.ItemName System.ItemNameDisplay + --------------------- ------------------- ---------------------- + VT_EMPTY "Great day" "Great day" + "Re:" "Great day" "Re: Great day" + "Fwd: " "Monthly budget" "Fwd: Monthly budget" + VT_EMPTY "accounts.xls" "accounts.xls" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D7313FF1-A77A-401C-8C99-3DBDD68ADD36}, 100 + + + + + Name: System.ItemParticipants -- PKEY_ItemParticipants + Description: This is the generic list of people associated with an item and who contributed + to the item. + + For example, this is the combination of people in the To list, Cc list and + sender of an email message. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4D0AA16-9948-41A4-AA85-D97FF9646993}, 100 + + + + + Name: System.ItemPathDisplay -- PKEY_ItemPathDisplay + Description: This is the user-friendly display path to the item. + + If the item is a file or folder this property + includes the extension in all cases, and will be localized if a localized name is available. + + For other items,this is the user-friendly equivalent, assuming the item exists in hierarchical storage. + + Unlike System.ItemUrl, this property value does not include the URL scheme. + + To parse an item path, use System.ItemUrl or System.ParsingPath. To reference shell + namespace items using shell APIs, use System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "c:\foo\bar\hello.txt" + "\\server\share\mydir\goodnews.doc" "\\server\share\mydir\goodnews.doc" + "\\server\share\numbers.xls" "\\server\share\numbers.xls" + "c:\foo\MyFolder" "c:\foo\MyFolder" + "/Mailbox Account/Inbox/'Re: Hello!'" "/Mailbox Account/Inbox/'Re: Hello!'" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 7 + + + + + Name: System.ItemPathDisplayNarrow -- PKEY_ItemPathDisplayNarrow + Description: This is the user-friendly display path to the item. The format of the string should be + tailored such that the name comes first, to optimize for a narrow viewing column. + + If the item is a file, the value excludes the file extension, and includes localized names if they are present. + If the item is a message, the value includes the System.ItemNamePrefix. + + To parse an item path, use System.ItemUrl or System.ParsingPath. + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "hello (c:\foo\bar)" + "\\server\share\mydir\goodnews.doc" "goodnews (\\server\share\mydir)" + "\\server\share\folder" "folder (\\server\share)" + "c:\foo\MyFolder" "MyFolder (c:\foo)" + "/Mailbox Account/Inbox/'Re: Hello!'" "Re: Hello! (/Mailbox Account/Inbox)" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 8 + + + + + Name: System.ItemType -- PKEY_ItemType + Description: This is the canonical type of the item and is intended to be programmatically + parsed. + + If there is no canonical type, the value is VT_EMPTY. + + If the item is a file (ie, System.FileName is not VT_EMPTY), the value is the same as + System.FileExtension. + + Use System.ItemTypeText when you want to display the type to end users in a view. (If + the item is a file, passing the System.ItemType value to PSFormatForDisplay will + result in the same value as System.ItemTypeText.) + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" ".txt" + "\\server\share\mydir\goodnews.doc" ".doc" + "\\server\share\folder" "Directory" + "c:\foo\MyFolder" "Directory" + [desktop] "Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "MAPI/IPM.Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 11 + + + + + Name: System.ItemTypeText -- PKEY_ItemTypeText + Description: This is the user friendly type name of the item. This is not intended to be + programmatically parsed. + + If System.ItemType is VT_EMPTY, the value of this property is also VT_EMPTY. + + If the item is a file, the value of this property is the same as if you passed the + file's System.ItemType value to PSFormatForDisplay. + + This property should not be confused with System.Kind, where System.Kind is a high-level + user friendly kind name. For example, for a document, System.Kind = "Document" and + System.Item.Type = ".doc" and System.Item.TypeText = "Microsoft Word Document" + + Example values: + + If the path is... The property value is... + ----------------- ------------------------ + "c:\foo\bar\hello.txt" "Text File" + "\\server\share\mydir\goodnews.doc" "Microsoft Word Document" + "\\server\share\folder" "File Folder" + "c:\foo\MyFolder" "File Folder" + "/Mailbox Account/Inbox/'Re: Hello!'" "Outlook E-Mail Message" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 4 (PID_STG_STORAGETYPE) + + + + + Name: System.ItemUrl -- PKEY_ItemUrl + Description: This always represents a well formed URL that points to the item. + + To reference shell namespace items using shell APIs, use System.ParsingPath. + + Example values: + + Files: "file:///c:/foo/bar/hello.txt" + "csc://{GUID}/..." + Messages: "mapi://..." + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 9 (DISPID_QUERY_VIRTUALPATH) + + + + + Name: System.Keywords -- PKEY_Keywords + Description: The keywords for the item. Also referred to as tags. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 5 (PIDSI_KEYWORDS) + + + + + Name: System.Kind -- PKEY_Kind + Description: System.Kind is used to map extensions to various .Search folders. + Extensions are mapped to Kinds at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\KindMap + The list of kinds is not extensible. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {1E3EE840-BC2B-476C-8237-2ACD1A839B22}, 3 + + + + + Name: System.KindText -- PKEY_KindText + Description: This is the user-friendly form of System.Kind. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F04BEF95-C585-4197-A2B7-DF46FDC9EE6D}, 100 + + + + + Name: System.Language -- PKEY_Language + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 28 + + + + + Name: System.MileageInformation -- PKEY_MileageInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FDF84370-031A-4ADD-9E91-0D775F1C6605}, 100 + + + + + Name: System.MIMEType -- PKEY_MIMEType + Description: The MIME type. Eg, for EML files: 'message/rfc822'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 5 + + + + + Name: System.NamespaceCLSID -- PKEY_NamespaceCLSID + Description: The CLSID of the name space extension for an item, the object that implements IShellFolder for this item + + Type: Guid -- VT_CLSID + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 6 + + + + + Name: System.Null -- PKEY_Null + Description: + Type: Null -- VT_NULL + FormatID: {00000000-0000-0000-0000-000000000000}, 0 + + + + + Name: System.OfflineAvailability -- PKEY_OfflineAvailability + Description: + Type: UInt32 -- VT_UI4 + FormatID: {A94688B6-7D9F-4570-A648-E3DFC0AB2B3F}, 100 + + + + + Name: System.OfflineStatus -- PKEY_OfflineStatus + Description: + Type: UInt32 -- VT_UI4 + FormatID: {6D24888F-4718-4BDA-AFED-EA0FB4386CD8}, 100 + + + + + Name: System.OriginalFileName -- PKEY_OriginalFileName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 6 + + + + + Name: System.OwnerSID -- PKEY_OwnerSID + Description: SID of the user that owns the library. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5D76B67F-9B3D-44BB-B6AE-25DA4F638A67}, 6 + + + + + Name: System.ParentalRating -- PKEY_ParentalRating + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 21 (PIDMSI_PARENTAL_RATING) + + + + + Name: System.ParentalRatingReason -- PKEY_ParentalRatingReason + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10984E0A-F9F2-4321-B7EF-BAF195AF4319}, 100 + + + + + Name: System.ParentalRatingsOrganization -- PKEY_ParentalRatingsOrganization + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A7FE0840-1344-46F0-8D37-52ED712A4BF9}, 100 + + + + + Name: System.ParsingBindContext -- PKEY_ParsingBindContext + Description: used to get the IBindCtx for an item for parsing + + Type: Any -- VT_NULL Legacy code may treat this as VT_UNKNOWN. + FormatID: {DFB9A04D-362F-4CA3-B30B-0254B17B5B84}, 100 + + + + + Name: System.ParsingName -- PKEY_ParsingName + Description: The shell namespace name of an item relative to a parent folder. This name may be passed to + IShellFolder::ParseDisplayName() of the parent shell folder. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 24 + + + + + Name: System.ParsingPath -- PKEY_ParsingPath + Description: This is the shell namespace path to the item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the item is a file, the value is identical to System.ItemPathDisplay. + + If the item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 30 + + + + + Name: System.PerceivedType -- PKEY_PerceivedType + Description: The perceived type of a shell item, based upon its canonical type. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 9 + + + + + Name: System.PercentFull -- PKEY_PercentFull + Description: The amount filled as a percentage, multiplied by 100 (ie, the valid range is 0 through 100). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 5 (Filesystem Volume Properties) + + + + + Name: System.Priority -- PKEY_Priority + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 5 + + + + + Name: System.PriorityText -- PKEY_PriorityText + Description: This is the user-friendly form of System.Priority. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D98BE98B-B86B-4095-BF52-9D23B2E0A752}, 100 + + + + + Name: System.Project -- PKEY_Project + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {39A7F922-477C-48DE-8BC8-B28441E342E3}, 100 + + + + + Name: System.ProviderItemID -- PKEY_ProviderItemID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F21D9941-81F0-471A-ADEE-4E74B49217ED}, 100 + + + + + Name: System.Rating -- PKEY_Rating + Description: Indicates the users preference rating of an item on a scale of 1-99 (1-12 = One Star, + 13-37 = Two Stars, 38-62 = Three Stars, 63-87 = Four Stars, 88-99 = Five Stars). + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 9 (PIDMSI_RATING) + + + + + Name: System.RatingText -- PKEY_RatingText + Description: This is the user-friendly form of System.Rating. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {90197CA7-FD8F-4E8C-9DA3-B57E1E609295}, 100 + + + + + Name: System.Sensitivity -- PKEY_Sensitivity + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {F8D3F6AC-4874-42CB-BE59-AB454B30716A}, 100 + + + + + Name: System.SensitivityText -- PKEY_SensitivityText + Description: This is the user-friendly form of System.Sensitivity. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D0C7F054-3F72-4725-8527-129A577CB269}, 100 + + + + + Name: System.SFGAOFlags -- PKEY_SFGAOFlags + Description: IShellFolder::GetAttributesOf flags, with SFGAO_PKEYSFGAOMASK attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 25 + + + + + Name: System.SharedWith -- PKEY_SharedWith + Description: Who is the item shared with? + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 200 + + + + + Name: System.ShareUserRating -- PKEY_ShareUserRating + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 12 (PIDMSI_SHARE_USER_RATING) + + + + + Name: System.SharingStatus -- PKEY_SharingStatus + Description: What is the item's sharing status (not shared, shared, everyone (homegroup or everyone), or private)? + + Type: UInt32 -- VT_UI4 + FormatID: {EF884C5B-2BFE-41BB-AAE5-76EEDF4F9902}, 300 + + + + + Name: System.SimpleRating -- PKEY_SimpleRating + Description: Indicates the users preference rating of an item on a scale of 0-5 (0=unrated, 1=One Star, 2=Two Stars, 3=Three Stars, + 4=Four Stars, 5=Five Stars) + + Type: UInt32 -- VT_UI4 + FormatID: {A09F084E-AD41-489F-8076-AA5BE3082BCA}, 100 + + + + + Name: System.Size -- PKEY_Size + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 12 (PID_STG_SIZE) + + + + + Name: System.SoftwareUsed -- PKEY_SoftwareUsed + Description: PropertyTagSoftwareUsed + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 305 + + + + + Name: System.SourceItem -- PKEY_SourceItem + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {668CDFA5-7A1B-4323-AE4B-E527393A1D81}, 100 + + + + + Name: System.StartDate -- PKEY_StartDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {48FD6EC8-8A12-4CDF-A03E-4EC5A511EDDE}, 100 + + + + + Name: System.Status -- PKEY_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_IntSite) {000214A1-0000-0000-C000-000000000046}, 9 + + + + + Name: System.Subject -- PKEY_Subject + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 3 (PIDSI_SUBJECT) + + + + + Name: System.Thumbnail -- PKEY_Thumbnail + Description: A data that represents the thumbnail in VT_CF format. + + Type: Clipboard -- VT_CF + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 17 (PIDSI_THUMBNAIL) + + + + + Name: System.ThumbnailCacheId -- PKEY_ThumbnailCacheId + Description: Unique value that can be used as a key to cache thumbnails. The value changes when the name, volume, or data modified + of an item changes. + + Type: UInt64 -- VT_UI8 + FormatID: {446D16B1-8DAD-4870-A748-402EA43D788C}, 100 + + + + + Name: System.ThumbnailStream -- PKEY_ThumbnailStream + Description: Data that represents the thumbnail in VT_STREAM format that GDI+/WindowsCodecs supports (jpg, png, etc). + + Type: Stream -- VT_STREAM + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 27 + + + + + Name: System.Title -- PKEY_Title + Description: Title of item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 2 (PIDSI_TITLE) + + + + + Name: System.TotalFileSize -- PKEY_TotalFileSize + Description: + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_ShellDetails) {28636AA6-953D-11D2-B5D6-00C04FD918D0}, 14 + + + + + Name: System.Trademarks -- PKEY_Trademarks + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 9 (PIDVSI_Trademarks) + + + + + AppUserModel Properties + + + + + Name: System.AppUserModel.ExcludeFromShowInNewInstall -- PKEY_AppUserModel_ExcludeFromShowInNewInstall + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 8 + + + + + Name: System.AppUserModel.ID -- PKEY_AppUserModel_ID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 5 + + + + + Name: System.AppUserModel.IsDestListSeparator -- PKEY_AppUserModel_IsDestListSeparator + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 6 + + + + + Name: System.AppUserModel.PreventPinning -- PKEY_AppUserModel_PreventPinning + Description: + Type: Boolean -- VT_BOOL + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 9 + + + + + Name: System.AppUserModel.RelaunchCommand -- PKEY_AppUserModel_RelaunchCommand + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 2 + + + + + Name: System.AppUserModel.RelaunchDisplayNameResource -- PKEY_AppUserModel_RelaunchDisplayNameResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 4 + + + + + Name: System.AppUserModel.RelaunchIconResource -- PKEY_AppUserModel_RelaunchIconResource + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}, 3 + + + + + Audio Properties + + + + + Name: System.Audio.ChannelCount -- PKEY_Audio_ChannelCount + Description: Indicates the channel count for the audio file. Values: 1 (mono), 2 (stereo). + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 7 (PIDASI_CHANNEL_COUNT) + + + + + Name: System.Audio.Compression -- PKEY_Audio_Compression + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 10 (PIDASI_COMPRESSION) + + + + + Name: System.Audio.EncodingBitrate -- PKEY_Audio_EncodingBitrate + Description: Indicates the average data rate in Hz for the audio file in "bits per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 4 (PIDASI_AVG_DATA_RATE) + + + + + Name: System.Audio.Format -- PKEY_Audio_Format + Description: Indicates the format of the audio file. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) Legacy code may treat this as VT_BSTR. + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 2 (PIDASI_FORMAT) + + + + + Name: System.Audio.IsVariableBitRate -- PKEY_Audio_IsVariableBitRate + Description: + Type: Boolean -- VT_BOOL + FormatID: {E6822FEE-8C17-4D62-823C-8E9CFCBD1D5C}, 100 + + + + + Name: System.Audio.PeakValue -- PKEY_Audio_PeakValue + Description: + Type: UInt32 -- VT_UI4 + FormatID: {2579E5D0-1116-4084-BD9A-9B4F7CB4DF5E}, 100 + + + + + Name: System.Audio.SampleRate -- PKEY_Audio_SampleRate + Description: Indicates the audio sample rate for the audio file in "samples per second". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 5 (PIDASI_SAMPLE_RATE) + + + + + Name: System.Audio.SampleSize -- PKEY_Audio_SampleSize + Description: Indicates the audio sample size for the audio file in "bits per sample". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 6 (PIDASI_SAMPLE_SIZE) + + + + + Name: System.Audio.StreamName -- PKEY_Audio_StreamName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 9 (PIDASI_STREAM_NAME) + + + + + Name: System.Audio.StreamNumber -- PKEY_Audio_StreamNumber + Description: + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 8 (PIDASI_STREAM_NUMBER) + + + + + Calendar Properties + + + + + Name: System.Calendar.Duration -- PKEY_Calendar_Duration + Description: The duration as specified in a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {293CA35A-09AA-4DD2-B180-1FE245728A52}, 100 + + + + + Name: System.Calendar.IsOnline -- PKEY_Calendar_IsOnline + Description: Identifies if the event is an online event. + + Type: Boolean -- VT_BOOL + FormatID: {BFEE9149-E3E2-49A7-A862-C05988145CEC}, 100 + + + + + Name: System.Calendar.IsRecurring -- PKEY_Calendar_IsRecurring + Description: + Type: Boolean -- VT_BOOL + FormatID: {315B9C8D-80A9-4EF9-AE16-8E746DA51D70}, 100 + + + + + Name: System.Calendar.Location -- PKEY_Calendar_Location + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F6272D18-CECC-40B1-B26A-3911717AA7BD}, 100 + + + + + Name: System.Calendar.OptionalAttendeeAddresses -- PKEY_Calendar_OptionalAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D55BAE5A-3892-417A-A649-C6AC5AAAEAB3}, 100 + + + + + Name: System.Calendar.OptionalAttendeeNames -- PKEY_Calendar_OptionalAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {09429607-582D-437F-84C3-DE93A2B24C3C}, 100 + + + + + Name: System.Calendar.OrganizerAddress -- PKEY_Calendar_OrganizerAddress + Description: Address of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {744C8242-4DF5-456C-AB9E-014EFB9021E3}, 100 + + + + + Name: System.Calendar.OrganizerName -- PKEY_Calendar_OrganizerName + Description: Name of the organizer organizing the event. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAA660F9-9865-458E-B484-01BC7FE3973E}, 100 + + + + + Name: System.Calendar.ReminderTime -- PKEY_Calendar_ReminderTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {72FC5BA4-24F9-4011-9F3F-ADD27AFAD818}, 100 + + + + + Name: System.Calendar.RequiredAttendeeAddresses -- PKEY_Calendar_RequiredAttendeeAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {0BA7D6C3-568D-4159-AB91-781A91FB71E5}, 100 + + + + + Name: System.Calendar.RequiredAttendeeNames -- PKEY_Calendar_RequiredAttendeeNames + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {B33AF30B-F552-4584-936C-CB93E5CDA29F}, 100 + + + + + Name: System.Calendar.Resources -- PKEY_Calendar_Resources + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {00F58A38-C54B-4C40-8696-97235980EAE1}, 100 + + + + + Name: System.Calendar.ResponseStatus -- PKEY_Calendar_ResponseStatus + Description: This property stores the status of the user responses to meetings in her calendar. + + Type: UInt16 -- VT_UI2 + FormatID: {188C1F91-3C40-4132-9EC5-D8B03B72A8A2}, 100 + + + + + Name: System.Calendar.ShowTimeAs -- PKEY_Calendar_ShowTimeAs + Description: + + Type: UInt16 -- VT_UI2 + FormatID: {5BF396D4-5EB2-466F-BDE9-2FB3F2361D6E}, 100 + + + + + Name: System.Calendar.ShowTimeAsText -- PKEY_Calendar_ShowTimeAsText + Description: This is the user-friendly form of System.Calendar.ShowTimeAs. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {53DA57CF-62C0-45C4-81DE-7610BCEFD7F5}, 100 + + + + + Communication Properties + + + + + Name: System.Communication.AccountName -- PKEY_Communication_AccountName + Description: Account Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 9 + + + + + Name: System.Communication.DateItemExpires -- PKEY_Communication_DateItemExpires + Description: Date the item expires due to the retention policy. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {428040AC-A177-4C8A-9760-F6F761227F9A}, 100 + + + + + Name: System.Communication.FollowupIconIndex -- PKEY_Communication_FollowupIconIndex + Description: This is the icon index used on messages marked for followup. + + Type: Int32 -- VT_I4 + FormatID: {83A6347E-6FE4-4F40-BA9C-C4865240D1F4}, 100 + + + + + Name: System.Communication.HeaderItem -- PKEY_Communication_HeaderItem + Description: This property will be true if the item is a header item which means the item hasn't been fully downloaded. + + Type: Boolean -- VT_BOOL + FormatID: {C9C34F84-2241-4401-B607-BD20ED75AE7F}, 100 + + + + + Name: System.Communication.PolicyTag -- PKEY_Communication_PolicyTag + Description: This a string used to identify the retention policy applied to the item. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EC0B4191-AB0B-4C66-90B6-C6637CDEBBAB}, 100 + + + + + Name: System.Communication.SecurityFlags -- PKEY_Communication_SecurityFlags + Description: Security flags associated with the item to know if the item is encrypted, signed or DRM enabled. + + Type: Int32 -- VT_I4 + FormatID: {8619A4B6-9F4D-4429-8C0F-B996CA59E335}, 100 + + + + + Name: System.Communication.Suffix -- PKEY_Communication_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {807B653A-9E91-43EF-8F97-11CE04EE20C5}, 100 + + + + + Name: System.Communication.TaskStatus -- PKEY_Communication_TaskStatus + Description: + Type: UInt16 -- VT_UI2 + FormatID: {BE1A72C6-9A1D-46B7-AFE7-AFAF8CEF4999}, 100 + + + + + Name: System.Communication.TaskStatusText -- PKEY_Communication_TaskStatusText + Description: This is the user-friendly form of System.Communication.TaskStatus. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A6744477-C237-475B-A075-54F34498292A}, 100 + + + + + Computer Properties + + + + + Name: System.Computer.DecoratedFreeSpace -- PKEY_Computer_DecoratedFreeSpace + Description: Free space and total space: "%s free of %s" + + Type: Multivalue UInt64 -- VT_VECTOR | VT_UI8 (For variants: VT_ARRAY | VT_UI8) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 7 (Filesystem Volume Properties) + + + + + Contact Properties + + + + + Name: System.Contact.Anniversary -- PKEY_Contact_Anniversary + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {9AD5BADB-CEA7-4470-A03D-B84E51B9949E}, 100 + + + + + Name: System.Contact.AssistantName -- PKEY_Contact_AssistantName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD102C9C-5540-4A88-A6F6-64E4981C8CD1}, 100 + + + + + Name: System.Contact.AssistantTelephone -- PKEY_Contact_AssistantTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9A93244D-A7AD-4FF8-9B99-45EE4CC09AF6}, 100 + + + + + Name: System.Contact.Birthday -- PKEY_Contact_Birthday + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 47 + + + + + Name: System.Contact.BusinessAddress -- PKEY_Contact_BusinessAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {730FB6DD-CF7C-426B-A03F-BD166CC9EE24}, 100 + + + + + Name: System.Contact.BusinessAddressCity -- PKEY_Contact_BusinessAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {402B5934-EC5A-48C3-93E6-85E86A2D934E}, 100 + + + + + Name: System.Contact.BusinessAddressCountry -- PKEY_Contact_BusinessAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B0B87314-FCF6-4FEB-8DFF-A50DA6AF561C}, 100 + + + + + Name: System.Contact.BusinessAddressPostalCode -- PKEY_Contact_BusinessAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1D4A09E-D758-4CD1-B6EC-34A8B5A73F80}, 100 + + + + + Name: System.Contact.BusinessAddressPostOfficeBox -- PKEY_Contact_BusinessAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BC4E71CE-17F9-48D5-BEE9-021DF0EA5409}, 100 + + + + + Name: System.Contact.BusinessAddressState -- PKEY_Contact_BusinessAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {446F787F-10C4-41CB-A6C4-4D0343551597}, 100 + + + + + Name: System.Contact.BusinessAddressStreet -- PKEY_Contact_BusinessAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DDD1460F-C0BF-4553-8CE4-10433C908FB0}, 100 + + + + + Name: System.Contact.BusinessFaxNumber -- PKEY_Contact_BusinessFaxNumber + Description: Business fax number of the contact. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {91EFF6F3-2E27-42CA-933E-7C999FBE310B}, 100 + + + + + Name: System.Contact.BusinessHomePage -- PKEY_Contact_BusinessHomePage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {56310920-2491-4919-99CE-EADB06FAFDB2}, 100 + + + + + Name: System.Contact.BusinessTelephone -- PKEY_Contact_BusinessTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6A15E5A0-0A1E-4CD7-BB8C-D2F1B0C929BC}, 100 + + + + + Name: System.Contact.CallbackTelephone -- PKEY_Contact_CallbackTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BF53D1C3-49E0-4F7F-8567-5A821D8AC542}, 100 + + + + + Name: System.Contact.CarTelephone -- PKEY_Contact_CarTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8FDC6DEA-B929-412B-BA90-397A257465FE}, 100 + + + + + Name: System.Contact.Children -- PKEY_Contact_Children + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D4729704-8EF1-43EF-9024-2BD381187FD5}, 100 + + + + + Name: System.Contact.CompanyMainTelephone -- PKEY_Contact_CompanyMainTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8589E481-6040-473D-B171-7FA89C2708ED}, 100 + + + + + Name: System.Contact.Department -- PKEY_Contact_Department + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FC9F7306-FF8F-4D49-9FB6-3FFE5C0951EC}, 100 + + + + + Name: System.Contact.EmailAddress -- PKEY_Contact_EmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F8FA7FA3-D12B-4785-8A4E-691A94F7A3E7}, 100 + + + + + Name: System.Contact.EmailAddress2 -- PKEY_Contact_EmailAddress2 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {38965063-EDC8-4268-8491-B7723172CF29}, 100 + + + + + Name: System.Contact.EmailAddress3 -- PKEY_Contact_EmailAddress3 + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {644D37B4-E1B3-4BAD-B099-7E7C04966ACA}, 100 + + + + + Name: System.Contact.EmailAddresses -- PKEY_Contact_EmailAddresses + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {84D8F337-981D-44B3-9615-C7596DBA17E3}, 100 + + + + + Name: System.Contact.EmailName -- PKEY_Contact_EmailName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CC6F4F24-6083-4BD4-8754-674D0DE87AB8}, 100 + + + + + Name: System.Contact.FileAsName -- PKEY_Contact_FileAsName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1A24AA7-9CA7-40F6-89EC-97DEF9FFE8DB}, 100 + + + + + Name: System.Contact.FirstName -- PKEY_Contact_FirstName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {14977844-6B49-4AAD-A714-A4513BF60460}, 100 + + + + + Name: System.Contact.FullName -- PKEY_Contact_FullName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {635E9051-50A5-4BA2-B9DB-4ED056C77296}, 100 + + + + + Name: System.Contact.Gender -- PKEY_Contact_Gender + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 100 + + + + + Name: System.Contact.GenderValue -- PKEY_Contact_GenderValue + Description: + Type: UInt16 -- VT_UI2 + FormatID: {3C8CEE58-D4F0-4CF9-B756-4E5D24447BCD}, 101 + + + + + Name: System.Contact.Hobbies -- PKEY_Contact_Hobbies + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {5DC2253F-5E11-4ADF-9CFE-910DD01E3E70}, 100 + + + + + Name: System.Contact.HomeAddress -- PKEY_Contact_HomeAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {98F98354-617A-46B8-8560-5B1B64BF1F89}, 100 + + + + + Name: System.Contact.HomeAddressCity -- PKEY_Contact_HomeAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 65 + + + + + Name: System.Contact.HomeAddressCountry -- PKEY_Contact_HomeAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08A65AA1-F4C9-43DD-9DDF-A33D8E7EAD85}, 100 + + + + + Name: System.Contact.HomeAddressPostalCode -- PKEY_Contact_HomeAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8AFCC170-8A46-4B53-9EEE-90BAE7151E62}, 100 + + + + + Name: System.Contact.HomeAddressPostOfficeBox -- PKEY_Contact_HomeAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7B9F6399-0A3F-4B12-89BD-4ADC51C918AF}, 100 + + + + + Name: System.Contact.HomeAddressState -- PKEY_Contact_HomeAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C89A23D0-7D6D-4EB8-87D4-776A82D493E5}, 100 + + + + + Name: System.Contact.HomeAddressStreet -- PKEY_Contact_HomeAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0ADEF160-DB3F-4308-9A21-06237B16FA2A}, 100 + + + + + Name: System.Contact.HomeFaxNumber -- PKEY_Contact_HomeFaxNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {660E04D6-81AB-4977-A09F-82313113AB26}, 100 + + + + + Name: System.Contact.HomeTelephone -- PKEY_Contact_HomeTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 20 + + + + + Name: System.Contact.IMAddress -- PKEY_Contact_IMAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D68DBD8A-3374-4B81-9972-3EC30682DB3D}, 100 + + + + + Name: System.Contact.Initials -- PKEY_Contact_Initials + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F3D8F40D-50CB-44A2-9718-40CB9119495D}, 100 + + + + + Name: System.Contact.JobTitle -- PKEY_Contact_JobTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 6 + + + + + Name: System.Contact.Label -- PKEY_Contact_Label + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {97B0AD89-DF49-49CC-834E-660974FD755B}, 100 + + + + + Name: System.Contact.LastName -- PKEY_Contact_LastName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F367200-C270-457C-B1D4-E07C5BCD90C7}, 100 + + + + + Name: System.Contact.MailingAddress -- PKEY_Contact_MailingAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C0AC206A-827E-4650-95AE-77E2BB74FCC9}, 100 + + + + + Name: System.Contact.MiddleName -- PKEY_Contact_MiddleName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 71 + + + + + Name: System.Contact.MobileTelephone -- PKEY_Contact_MobileTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 35 + + + + + Name: System.Contact.NickName -- PKEY_Contact_NickName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 74 + + + + + Name: System.Contact.OfficeLocation -- PKEY_Contact_OfficeLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 7 + + + + + Name: System.Contact.OtherAddress -- PKEY_Contact_OtherAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {508161FA-313B-43D5-83A1-C1ACCF68622C}, 100 + + + + + Name: System.Contact.OtherAddressCity -- PKEY_Contact_OtherAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6E682923-7F7B-4F0C-A337-CFCA296687BF}, 100 + + + + + Name: System.Contact.OtherAddressCountry -- PKEY_Contact_OtherAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8F167568-0AAE-4322-8ED9-6055B7B0E398}, 100 + + + + + Name: System.Contact.OtherAddressPostalCode -- PKEY_Contact_OtherAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95C656C1-2ABF-4148-9ED3-9EC602E3B7CD}, 100 + + + + + Name: System.Contact.OtherAddressPostOfficeBox -- PKEY_Contact_OtherAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {8B26EA41-058F-43F6-AECC-4035681CE977}, 100 + + + + + Name: System.Contact.OtherAddressState -- PKEY_Contact_OtherAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {71B377D6-E570-425F-A170-809FAE73E54E}, 100 + + + + + Name: System.Contact.OtherAddressStreet -- PKEY_Contact_OtherAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FF962609-B7D6-4999-862D-95180D529AEA}, 100 + + + + + Name: System.Contact.PagerTelephone -- PKEY_Contact_PagerTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D6304E01-F8F5-4F45-8B15-D024A6296789}, 100 + + + + + Name: System.Contact.PersonalTitle -- PKEY_Contact_PersonalTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 69 + + + + + Name: System.Contact.PrimaryAddressCity -- PKEY_Contact_PrimaryAddressCity + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C8EA94F0-A9E3-4969-A94B-9C62A95324E0}, 100 + + + + + Name: System.Contact.PrimaryAddressCountry -- PKEY_Contact_PrimaryAddressCountry + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E53D799D-0F3F-466E-B2FF-74634A3CB7A4}, 100 + + + + + Name: System.Contact.PrimaryAddressPostalCode -- PKEY_Contact_PrimaryAddressPostalCode + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {18BBD425-ECFD-46EF-B612-7B4A6034EDA0}, 100 + + + + + Name: System.Contact.PrimaryAddressPostOfficeBox -- PKEY_Contact_PrimaryAddressPostOfficeBox + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE5EF3C7-46E1-484E-9999-62C5308394C1}, 100 + + + + + Name: System.Contact.PrimaryAddressState -- PKEY_Contact_PrimaryAddressState + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F1176DFE-7138-4640-8B4C-AE375DC70A6D}, 100 + + + + + Name: System.Contact.PrimaryAddressStreet -- PKEY_Contact_PrimaryAddressStreet + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {63C25B20-96BE-488F-8788-C09C407AD812}, 100 + + + + + Name: System.Contact.PrimaryEmailAddress -- PKEY_Contact_PrimaryEmailAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 48 + + + + + Name: System.Contact.PrimaryTelephone -- PKEY_Contact_PrimaryTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 25 + + + + + Name: System.Contact.Profession -- PKEY_Contact_Profession + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7268AF55-1CE4-4F6E-A41F-B6E4EF10E4A9}, 100 + + + + + Name: System.Contact.SpouseName -- PKEY_Contact_SpouseName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9D2408B6-3167-422B-82B0-F583B7A7CFE3}, 100 + + + + + Name: System.Contact.Suffix -- PKEY_Contact_Suffix + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {176DC63C-2688-4E89-8143-A347800F25E9}, 73 + + + + + Name: System.Contact.TelexNumber -- PKEY_Contact_TelexNumber + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C554493C-C1F7-40C1-A76C-EF8C0614003E}, 100 + + + + + Name: System.Contact.TTYTDDTelephone -- PKEY_Contact_TTYTDDTelephone + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AAF16BAC-2B55-45E6-9F6D-415EB94910DF}, 100 + + + + + Name: System.Contact.WebPage -- PKEY_Contact_WebPage + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 18 + + + + + JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + JA Properties + + + + + Name: System.Contact.JA.CompanyNamePhonetic -- PKEY_Contact_JA_CompanyNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 2 + + + + + Name: System.Contact.JA.FirstNamePhonetic -- PKEY_Contact_JA_FirstNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 3 + + + + + Name: System.Contact.JA.LastNamePhonetic -- PKEY_Contact_JA_LastNamePhonetic + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {897B3694-FE9E-43E6-8066-260F590C0100}, 4 + + + + + Device Properties + + + + + Name: System.Device.PrinterURL -- PKEY_Device_PrinterURL + Description: Printer information Printer URL. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B48F35A-BE6E-4F17-B108-3C4073D1669A}, 15 + + + + + DeviceInterface Properties + + + + + Name: System.DeviceInterface.PrinterDriverDirectory -- PKEY_DeviceInterface_PrinterDriverDirectory + Description: Printer information Printer Driver Directory. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {847C66DE-B8D6-4AF9-ABC3-6F4F926BC039}, 14 + + + + + Name: System.DeviceInterface.PrinterDriverName -- PKEY_DeviceInterface_PrinterDriverName + Description: Printer information Driver Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AFC47170-14F5-498C-8F30-B0D19BE449C6}, 11 + + + + + Name: System.DeviceInterface.PrinterName -- PKEY_DeviceInterface_PrinterName + Description: Printer information Printer Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0A7B84EF-0C27-463F-84EF-06C5070001BE}, 10 + + + + + Name: System.DeviceInterface.PrinterPortName -- PKEY_DeviceInterface_PrinterPortName + Description: Printer information Port Name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {EEC7B761-6F94-41B1-949F-C729720DD13C}, 12 + + + + + Devices Properties + + + + + Name: System.Devices.BatteryLife -- PKEY_Devices_BatteryLife + Description: Remaining battery life of the device as an integer between 0 and 100 percent. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 10 + + + + + Name: System.Devices.BatteryPlusCharging -- PKEY_Devices_BatteryPlusCharging + Description: Remaining battery life of the device as an integer between 0 and 100 percent and the device's charging state. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 22 + + + + + Name: System.Devices.BatteryPlusChargingText -- PKEY_Devices_BatteryPlusChargingText + Description: Remaining battery life of the device and the device's charging state as a string. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 23 + + + + + Name: System.Devices.Category -- PKEY_Devices_Category_Desc_Singular + Description: Singular form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 91 + + + + + Name: System.Devices.CategoryGroup -- PKEY_Devices_CategoryGroup_Desc + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 94 + + + + + Name: System.Devices.CategoryPlural -- PKEY_Devices_Category_Desc_Plural + Description: Plural form of device category. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 92 + + + + + Name: System.Devices.ChargingState -- PKEY_Devices_ChargingState + Description: Boolean value representing if the device is currently charging. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 11 + + + + + Name: System.Devices.Connected -- PKEY_Devices_IsConnected + Description: Device connection state. If VARIANT_TRUE, indicates the device is currently connected to the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 55 + + + + + Name: System.Devices.ContainerId -- PKEY_Devices_ContainerId + Description: Device container ID. + + Type: Guid -- VT_CLSID + FormatID: {8C7ED206-3F8A-4827-B3AB-AE9E1FAEFC6C}, 2 + + + + + Name: System.Devices.DefaultTooltip -- PKEY_Devices_DefaultTooltip + Description: Tooltip for default state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 153 + + + + + Name: System.Devices.DeviceDescription1 -- PKEY_Devices_DeviceDescription1 + Description: First line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 81 + + + + + Name: System.Devices.DeviceDescription2 -- PKEY_Devices_DeviceDescription2 + Description: Second line of descriptive text about the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 82 + + + + + Name: System.Devices.DiscoveryMethod -- PKEY_Devices_DiscoveryMethod + Description: Device discovery method. This indicates on what transport or physical connection the device is discovered. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 52 + + + + + Name: System.Devices.FriendlyName -- PKEY_Devices_FriendlyName + Description: Device friendly name. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 12288 + + + + + Name: System.Devices.FunctionPaths -- PKEY_Devices_FunctionPaths + Description: Available functions for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 3 + + + + + Name: System.Devices.InterfacePaths -- PKEY_Devices_InterfacePaths + Description: Available interfaces for this device. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 2 + + + + + Name: System.Devices.IsDefault -- PKEY_Devices_IsDefaultDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 86 + + + + + Name: System.Devices.IsNetworkConnected -- PKEY_Devices_IsNetworkDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 85 + + + + + Name: System.Devices.IsShared -- PKEY_Devices_IsSharedDevice + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 84 + + + + + Name: System.Devices.IsSoftwareInstalling -- PKEY_Devices_IsSoftwareInstalling + Description: If VARIANT_TRUE, the device installer is currently installing software. + + Type: Boolean -- VT_BOOL + FormatID: {83DA6326-97A6-4088-9453-A1923F573B29}, 9 + + + + + Name: System.Devices.LaunchDeviceStageFromExplorer -- PKEY_Devices_LaunchDeviceStageFromExplorer + Description: Indicates whether to launch Device Stage or not + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 77 + + + + + Name: System.Devices.LocalMachine -- PKEY_Devices_IsLocalMachine + Description: If VARIANT_TRUE, the device in question is actually the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 70 + + + + + Name: System.Devices.Manufacturer -- PKEY_Devices_Manufacturer + Description: Device manufacturer. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8192 + + + + + Name: System.Devices.MissedCalls -- PKEY_Devices_MissedCalls + Description: Number of missed calls on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 5 + + + + + Name: System.Devices.ModelName -- PKEY_Devices_ModelName + Description: Model name of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8194 + + + + + Name: System.Devices.ModelNumber -- PKEY_Devices_ModelNumber + Description: Model number of the device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {656A3BB3-ECC0-43FD-8477-4AE0404A96CD}, 8195 + + + + + Name: System.Devices.NetworkedTooltip -- PKEY_Devices_NetworkedTooltip + Description: Tooltip for connection state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 152 + + + + + Name: System.Devices.NetworkName -- PKEY_Devices_NetworkName + Description: Name of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 7 + + + + + Name: System.Devices.NetworkType -- PKEY_Devices_NetworkType + Description: String representing the type of the device's network. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 8 + + + + + Name: System.Devices.NewPictures -- PKEY_Devices_NewPictures + Description: Number of new pictures on the device. + + Type: UInt16 -- VT_UI2 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 4 + + + + + Name: System.Devices.Notification -- PKEY_Devices_Notification + Description: Device Notification Property. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 3 + + + + + Name: System.Devices.NotificationStore -- PKEY_Devices_NotificationStore + Description: Device Notification Store. + + Type: Object -- VT_UNKNOWN + FormatID: {06704B0C-E830-4C81-9178-91E4E95A80A0}, 2 + + + + + Name: System.Devices.NotWorkingProperly -- PKEY_Devices_IsNotWorkingProperly + Description: If VARIANT_TRUE, the device is not working properly. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 83 + + + + + Name: System.Devices.Paired -- PKEY_Devices_IsPaired + Description: Device paired state. If VARIANT_TRUE, indicates the device is not paired with the computer. + + Type: Boolean -- VT_BOOL + FormatID: {78C34FC8-104A-4ACA-9EA4-524D52996E57}, 56 + + + + + Name: System.Devices.PrimaryCategory -- PKEY_Devices_PrimaryCategory + Description: Primary category group for this device. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 10 + + + + + Name: System.Devices.Roaming -- PKEY_Devices_Roaming + Description: Status indicator used to indicate if the device is roaming. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 9 + + + + + Name: System.Devices.SafeRemovalRequired -- PKEY_Devices_SafeRemovalRequired + Description: Indicates if a device requires safe removal or not + + Type: Boolean -- VT_BOOL + FormatID: {AFD97640-86A3-4210-B67C-289C41AABE55}, 2 + + + + + Name: System.Devices.SharedTooltip -- PKEY_Devices_SharedTooltip + Description: Tooltip for sharing state + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {880F70A2-6082-47AC-8AAB-A739D1A300C3}, 151 + + + + + Name: System.Devices.SignalStrength -- PKEY_Devices_SignalStrength + Description: Device signal strength. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 2 + + + + + Name: System.Devices.Status1 -- PKEY_Devices_Status1 + Description: 1st line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 257 + + + + + Name: System.Devices.Status2 -- PKEY_Devices_Status2 + Description: 2nd line of device status. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D08DD4C0-3A9E-462E-8290-7B636B2576B9}, 258 + + + + + Name: System.Devices.StorageCapacity -- PKEY_Devices_StorageCapacity + Description: Total storage capacity of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 12 + + + + + Name: System.Devices.StorageFreeSpace -- PKEY_Devices_StorageFreeSpace + Description: Total free space of the storage of the device. + + Type: UInt64 -- VT_UI8 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 13 + + + + + Name: System.Devices.StorageFreeSpacePercent -- PKEY_Devices_StorageFreeSpacePercent + Description: Total free space of the storage of the device as a percentage. + + Type: UInt32 -- VT_UI4 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 14 + + + + + Name: System.Devices.TextMessages -- PKEY_Devices_TextMessages + Description: Number of unread text messages on the device. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 3 + + + + + Name: System.Devices.Voicemail -- PKEY_Devices_Voicemail + Description: Status indicator used to indicate if the device has voicemail. + + Type: Byte -- VT_UI1 + FormatID: {49CD1F76-5626-4B17-A4E8-18B4AA1A2213}, 6 + + + + + Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + Notifications Properties + + + + + Name: System.Devices.Notifications.LowBattery -- PKEY_Devices_Notification_LowBattery + Description: Device Low Battery Notification. + + Type: Byte -- VT_UI1 + FormatID: {C4C07F2B-8524-4E66-AE3A-A6235F103BEB}, 2 + + + + + Name: System.Devices.Notifications.MissedCall -- PKEY_Devices_Notification_MissedCall + Description: Device Missed Call Notification. + + Type: Byte -- VT_UI1 + FormatID: {6614EF48-4EFE-4424-9EDA-C79F404EDF3E}, 2 + + + + + Name: System.Devices.Notifications.NewMessage -- PKEY_Devices_Notification_NewMessage + Description: Device New Message Notification. + + Type: Byte -- VT_UI1 + FormatID: {2BE9260A-2012-4742-A555-F41B638B7DCB}, 2 + + + + + Name: System.Devices.Notifications.NewVoicemail -- PKEY_Devices_Notification_NewVoicemail + Description: Device Voicemail Notification. + + Type: Byte -- VT_UI1 + FormatID: {59569556-0A08-4212-95B9-FAE2AD6413DB}, 2 + + + + + Name: System.Devices.Notifications.StorageFull -- PKEY_Devices_Notification_StorageFull + Description: Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 2 + + + + + Name: System.Devices.Notifications.StorageFullLinkText -- PKEY_Devices_Notification_StorageFullLinkText + Description: Link Text for the Device Storage Full Notification. + + Type: UInt64 -- VT_UI8 + FormatID: {A0E00EE1-F0C7-4D41-B8E7-26A7BD8D38B0}, 3 + + + + + Document Properties + + + + + Name: System.Document.ByteCount -- PKEY_Document_ByteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 4 (PIDDSI_BYTECOUNT) + + + + + Name: System.Document.CharacterCount -- PKEY_Document_CharacterCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 16 (PIDSI_CHARCOUNT) + + + + + Name: System.Document.ClientID -- PKEY_Document_ClientID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {276D7BB0-5B34-4FB0-AA4B-158ED12A1809}, 100 + + + + + Name: System.Document.Contributor -- PKEY_Document_Contributor + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {F334115E-DA1B-4509-9B3D-119504DC7ABB}, 100 + + + + + Name: System.Document.DateCreated -- PKEY_Document_DateCreated + Description: This property is stored in the document, not obtained from the file system. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 12 (PIDSI_CREATE_DTM) + + + + + Name: System.Document.DatePrinted -- PKEY_Document_DatePrinted + Description: Legacy name: "DocLastPrinted". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 11 (PIDSI_LASTPRINTED) + + + + + Name: System.Document.DateSaved -- PKEY_Document_DateSaved + Description: Legacy name: "DocLastSavedTm". + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 13 (PIDSI_LASTSAVE_DTM) + + + + + Name: System.Document.Division -- PKEY_Document_Division + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1E005EE6-BF27-428B-B01C-79676ACD2870}, 100 + + + + + Name: System.Document.DocumentID -- PKEY_Document_DocumentID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E08805C8-E395-40DF-80D2-54F0D6C43154}, 100 + + + + + Name: System.Document.HiddenSlideCount -- PKEY_Document_HiddenSlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 9 (PIDDSI_HIDDENCOUNT) + + + + + Name: System.Document.LastAuthor -- PKEY_Document_LastAuthor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 8 (PIDSI_LASTAUTHOR) + + + + + Name: System.Document.LineCount -- PKEY_Document_LineCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 5 (PIDDSI_LINECOUNT) + + + + + Name: System.Document.Manager -- PKEY_Document_Manager + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 14 (PIDDSI_MANAGER) + + + + + Name: System.Document.MultimediaClipCount -- PKEY_Document_MultimediaClipCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 10 (PIDDSI_MMCLIPCOUNT) + + + + + Name: System.Document.NoteCount -- PKEY_Document_NoteCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 8 (PIDDSI_NOTECOUNT) + + + + + Name: System.Document.PageCount -- PKEY_Document_PageCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 14 (PIDSI_PAGECOUNT) + + + + + Name: System.Document.ParagraphCount -- PKEY_Document_ParagraphCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 6 (PIDDSI_PARCOUNT) + + + + + Name: System.Document.PresentationFormat -- PKEY_Document_PresentationFormat + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 3 (PIDDSI_PRESFORMAT) + + + + + Name: System.Document.RevisionNumber -- PKEY_Document_RevisionNumber + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 9 (PIDSI_REVNUMBER) + + + + + Name: System.Document.Security -- PKEY_Document_Security + Description: Access control information, from SummaryInfo propset + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 19 + + + + + Name: System.Document.SlideCount -- PKEY_Document_SlideCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 7 (PIDDSI_SLIDECOUNT) + + + + + Name: System.Document.Template -- PKEY_Document_Template + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 7 (PIDSI_TEMPLATE) + + + + + Name: System.Document.TotalEditingTime -- PKEY_Document_TotalEditingTime + Description: 100ns units, not milliseconds. VT_FILETIME for IPropertySetStorage handlers (legacy) + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 10 (PIDSI_EDITTIME) + + + + + Name: System.Document.Version -- PKEY_Document_Version + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DocumentSummaryInformation) {D5CDD502-2E9C-101B-9397-08002B2CF9AE}, 29 + + + + + Name: System.Document.WordCount -- PKEY_Document_WordCount + Description: + + Type: Int32 -- VT_I4 + FormatID: (FMTID_SummaryInformation) {F29F85E0-4FF9-1068-AB91-08002B27B3D9}, 15 (PIDSI_WORDCOUNT) + + + + + DRM Properties + + + + + Name: System.DRM.DatePlayExpires -- PKEY_DRM_DatePlayExpires + Description: Indicates when play expires for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 6 (PIDDRSI_PLAYEXPIRES) + + + + + Name: System.DRM.DatePlayStarts -- PKEY_DRM_DatePlayStarts + Description: Indicates when play starts for digital rights management. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 5 (PIDDRSI_PLAYSTARTS) + + + + + Name: System.DRM.Description -- PKEY_DRM_Description + Description: Displays the description for digital rights management. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 3 (PIDDRSI_DESCRIPTION) + + + + + Name: System.DRM.IsProtected -- PKEY_DRM_IsProtected + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 2 (PIDDRSI_PROTECTED) + + + + + Name: System.DRM.PlayCount -- PKEY_DRM_PlayCount + Description: Indicates the play count for digital rights management. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_DRM) {AEAC19E4-89AE-4508-B9B7-BB867ABEE2ED}, 4 (PIDDRSI_PLAYCOUNT) + + + + + GPS Properties + + + + + Name: System.GPS.Altitude -- PKEY_GPS_Altitude + Description: Indicates the altitude based on the reference in PKEY_GPS_AltitudeRef. Calculated from PKEY_GPS_AltitudeNumerator and + PKEY_GPS_AltitudeDenominator + + Type: Double -- VT_R8 + FormatID: {827EDB4F-5B73-44A7-891D-FDFFABEA35CA}, 100 + + + + + Name: System.GPS.AltitudeDenominator -- PKEY_GPS_AltitudeDenominator + Description: Denominator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {78342DCB-E358-4145-AE9A-6BFE4E0F9F51}, 100 + + + + + Name: System.GPS.AltitudeNumerator -- PKEY_GPS_AltitudeNumerator + Description: Numerator of PKEY_GPS_Altitude + + Type: UInt32 -- VT_UI4 + FormatID: {2DAD1EB7-816D-40D3-9EC3-C9773BE2AADE}, 100 + + + + + Name: System.GPS.AltitudeRef -- PKEY_GPS_AltitudeRef + Description: Indicates the reference for the altitude property. (eg: above sea level, below sea level, absolute value) + + Type: Byte -- VT_UI1 + FormatID: {46AC629D-75EA-4515-867F-6DC4321C5844}, 100 + + + + + Name: System.GPS.AreaInformation -- PKEY_GPS_AreaInformation + Description: Represents the name of the GPS area + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {972E333E-AC7E-49F1-8ADF-A70D07A9BCAB}, 100 + + + + + Name: System.GPS.Date -- PKEY_GPS_Date + Description: Date and time of the GPS record + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {3602C812-0F3B-45F0-85AD-603468D69423}, 100 + + + + + Name: System.GPS.DestBearing -- PKEY_GPS_DestBearing + Description: Indicates the bearing to the destination point. Calculated from PKEY_GPS_DestBearingNumerator and + PKEY_GPS_DestBearingDenominator. + + Type: Double -- VT_R8 + FormatID: {C66D4B3C-E888-47CC-B99F-9DCA3EE34DEA}, 100 + + + + + Name: System.GPS.DestBearingDenominator -- PKEY_GPS_DestBearingDenominator + Description: Denominator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {7ABCF4F8-7C3F-4988-AC91-8D2C2E97ECA5}, 100 + + + + + Name: System.GPS.DestBearingNumerator -- PKEY_GPS_DestBearingNumerator + Description: Numerator of PKEY_GPS_DestBearing + + Type: UInt32 -- VT_UI4 + FormatID: {BA3B1DA9-86EE-4B5D-A2A4-A271A429F0CF}, 100 + + + + + Name: System.GPS.DestBearingRef -- PKEY_GPS_DestBearingRef + Description: Indicates the reference used for the giving the bearing to the destination point. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AB84393-2A0F-4B75-BB22-7279786977CB}, 100 + + + + + Name: System.GPS.DestDistance -- PKEY_GPS_DestDistance + Description: Indicates the distance to the destination point. Calculated from PKEY_GPS_DestDistanceNumerator and + PKEY_GPS_DestDistanceDenominator. + + Type: Double -- VT_R8 + FormatID: {A93EAE04-6804-4F24-AC81-09B266452118}, 100 + + + + + Name: System.GPS.DestDistanceDenominator -- PKEY_GPS_DestDistanceDenominator + Description: Denominator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {9BC2C99B-AC71-4127-9D1C-2596D0D7DCB7}, 100 + + + + + Name: System.GPS.DestDistanceNumerator -- PKEY_GPS_DestDistanceNumerator + Description: Numerator of PKEY_GPS_DestDistance + + Type: UInt32 -- VT_UI4 + FormatID: {2BDA47DA-08C6-4FE1-80BC-A72FC517C5D0}, 100 + + + + + Name: System.GPS.DestDistanceRef -- PKEY_GPS_DestDistanceRef + Description: Indicates the unit used to express the distance to the destination. (eg: kilometers, miles, knots) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ED4DF2D3-8695-450B-856F-F5C1C53ACB66}, 100 + + + + + Name: System.GPS.DestLatitude -- PKEY_GPS_DestLatitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLatitudeNumerator and + PKEY_GPS_DestLatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {9D1D7CC5-5C39-451C-86B3-928E2D18CC47}, 100 + + + + + Name: System.GPS.DestLatitudeDenominator -- PKEY_GPS_DestLatitudeDenominator + Description: Denominator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {3A372292-7FCA-49A7-99D5-E47BB2D4E7AB}, 100 + + + + + Name: System.GPS.DestLatitudeNumerator -- PKEY_GPS_DestLatitudeNumerator + Description: Numerator of PKEY_GPS_DestLatitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {ECF4B6F6-D5A6-433C-BB92-4076650FC890}, 100 + + + + + Name: System.GPS.DestLatitudeRef -- PKEY_GPS_DestLatitudeRef + Description: Indicates whether the latitude destination point is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CEA820B9-CE61-4885-A128-005D9087C192}, 100 + + + + + Name: System.GPS.DestLongitude -- PKEY_GPS_DestLongitude + Description: Indicates the latitude of the destination point. This is an array of three values. Index 0 is the degrees, index 1 + is the minutes, index 2 is the seconds. Each is calculated from the values in PKEY_GPS_DestLongitudeNumerator and + PKEY_GPS_DestLongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {47A96261-CB4C-4807-8AD3-40B9D9DBC6BC}, 100 + + + + + Name: System.GPS.DestLongitudeDenominator -- PKEY_GPS_DestLongitudeDenominator + Description: Denominator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {425D69E5-48AD-4900-8D80-6EB6B8D0AC86}, 100 + + + + + Name: System.GPS.DestLongitudeNumerator -- PKEY_GPS_DestLongitudeNumerator + Description: Numerator of PKEY_GPS_DestLongitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {A3250282-FB6D-48D5-9A89-DBCACE75CCCF}, 100 + + + + + Name: System.GPS.DestLongitudeRef -- PKEY_GPS_DestLongitudeRef + Description: Indicates whether the longitude destination point is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {182C1EA6-7C1C-4083-AB4B-AC6C9F4ED128}, 100 + + + + + Name: System.GPS.Differential -- PKEY_GPS_Differential + Description: Indicates whether differential correction was applied to the GPS receiver + + Type: UInt16 -- VT_UI2 + FormatID: {AAF4EE25-BD3B-4DD7-BFC4-47F77BB00F6D}, 100 + + + + + Name: System.GPS.DOP -- PKEY_GPS_DOP + Description: Indicates the GPS DOP (data degree of precision). Calculated from PKEY_GPS_DOPNumerator and PKEY_GPS_DOPDenominator + + Type: Double -- VT_R8 + FormatID: {0CF8FB02-1837-42F1-A697-A7017AA289B9}, 100 + + + + + Name: System.GPS.DOPDenominator -- PKEY_GPS_DOPDenominator + Description: Denominator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {A0BE94C5-50BA-487B-BD35-0654BE8881ED}, 100 + + + + + Name: System.GPS.DOPNumerator -- PKEY_GPS_DOPNumerator + Description: Numerator of PKEY_GPS_DOP + + Type: UInt32 -- VT_UI4 + FormatID: {47166B16-364F-4AA0-9F31-E2AB3DF449C3}, 100 + + + + + Name: System.GPS.ImgDirection -- PKEY_GPS_ImgDirection + Description: Indicates direction of the image when it was captured. Calculated from PKEY_GPS_ImgDirectionNumerator and + PKEY_GPS_ImgDirectionDenominator. + + Type: Double -- VT_R8 + FormatID: {16473C91-D017-4ED9-BA4D-B6BAA55DBCF8}, 100 + + + + + Name: System.GPS.ImgDirectionDenominator -- PKEY_GPS_ImgDirectionDenominator + Description: Denominator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {10B24595-41A2-4E20-93C2-5761C1395F32}, 100 + + + + + Name: System.GPS.ImgDirectionNumerator -- PKEY_GPS_ImgDirectionNumerator + Description: Numerator of PKEY_GPS_ImgDirection + + Type: UInt32 -- VT_UI4 + FormatID: {DC5877C7-225F-45F7-BAC7-E81334B6130A}, 100 + + + + + Name: System.GPS.ImgDirectionRef -- PKEY_GPS_ImgDirectionRef + Description: Indicates reference for giving the direction of the image when it was captured. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A4AAA5B7-1AD0-445F-811A-0F8F6E67F6B5}, 100 + + + + + Name: System.GPS.Latitude -- PKEY_GPS_Latitude + Description: Indicates the latitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LatitudeNumerator and PKEY_GPS_LatitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {8727CFFF-4868-4EC6-AD5B-81B98521D1AB}, 100 + + + + + Name: System.GPS.LatitudeDenominator -- PKEY_GPS_LatitudeDenominator + Description: Denominator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {16E634EE-2BFF-497B-BD8A-4341AD39EEB9}, 100 + + + + + Name: System.GPS.LatitudeNumerator -- PKEY_GPS_LatitudeNumerator + Description: Numerator of PKEY_GPS_Latitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {7DDAAAD1-CCC8-41AE-B750-B2CB8031AEA2}, 100 + + + + + Name: System.GPS.LatitudeRef -- PKEY_GPS_LatitudeRef + Description: Indicates whether latitude is north or south latitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {029C0252-5B86-46C7-ACA0-2769FFC8E3D4}, 100 + + + + + Name: System.GPS.Longitude -- PKEY_GPS_Longitude + Description: Indicates the longitude. This is an array of three values. Index 0 is the degrees, index 1 is the minutes, index 2 + is the seconds. Each is calculated from the values in PKEY_GPS_LongitudeNumerator and PKEY_GPS_LongitudeDenominator. + + Type: Multivalue Double -- VT_VECTOR | VT_R8 (For variants: VT_ARRAY | VT_R8) + FormatID: {C4C4DBB2-B593-466B-BBDA-D03D27D5E43A}, 100 + + + + + Name: System.GPS.LongitudeDenominator -- PKEY_GPS_LongitudeDenominator + Description: Denominator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {BE6E176C-4534-4D2C-ACE5-31DEDAC1606B}, 100 + + + + + Name: System.GPS.LongitudeNumerator -- PKEY_GPS_LongitudeNumerator + Description: Numerator of PKEY_GPS_Longitude + + Type: Multivalue UInt32 -- VT_VECTOR | VT_UI4 (For variants: VT_ARRAY | VT_UI4) + FormatID: {02B0F689-A914-4E45-821D-1DDA452ED2C4}, 100 + + + + + Name: System.GPS.LongitudeRef -- PKEY_GPS_LongitudeRef + Description: Indicates whether longitude is east or west longitude + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {33DCF22B-28D5-464C-8035-1EE9EFD25278}, 100 + + + + + Name: System.GPS.MapDatum -- PKEY_GPS_MapDatum + Description: Indicates the geodetic survey data used by the GPS receiver + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2CA2DAE6-EDDC-407D-BEF1-773942ABFA95}, 100 + + + + + Name: System.GPS.MeasureMode -- PKEY_GPS_MeasureMode + Description: Indicates the GPS measurement mode. (eg: 2-dimensional, 3-dimensional) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A015ED5D-AAEA-4D58-8A86-3C586920EA0B}, 100 + + + + + Name: System.GPS.ProcessingMethod -- PKEY_GPS_ProcessingMethod + Description: Indicates the name of the method used for location finding + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59D49E61-840F-4AA9-A939-E2099B7F6399}, 100 + + + + + Name: System.GPS.Satellites -- PKEY_GPS_Satellites + Description: Indicates the GPS satellites used for measurements + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {467EE575-1F25-4557-AD4E-B8B58B0D9C15}, 100 + + + + + Name: System.GPS.Speed -- PKEY_GPS_Speed + Description: Indicates the speed of the GPS receiver movement. Calculated from PKEY_GPS_SpeedNumerator and + PKEY_GPS_SpeedDenominator. + + Type: Double -- VT_R8 + FormatID: {DA5D0862-6E76-4E1B-BABD-70021BD25494}, 100 + + + + + Name: System.GPS.SpeedDenominator -- PKEY_GPS_SpeedDenominator + Description: Denominator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {7D122D5A-AE5E-4335-8841-D71E7CE72F53}, 100 + + + + + Name: System.GPS.SpeedNumerator -- PKEY_GPS_SpeedNumerator + Description: Numerator of PKEY_GPS_Speed + + Type: UInt32 -- VT_UI4 + FormatID: {ACC9CE3D-C213-4942-8B48-6D0820F21C6D}, 100 + + + + + Name: System.GPS.SpeedRef -- PKEY_GPS_SpeedRef + Description: Indicates the unit used to express the speed of the GPS receiver movement. (eg: kilometers per hour, + miles per hour, knots). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {ECF7F4C9-544F-4D6D-9D98-8AD79ADAF453}, 100 + + + + + Name: System.GPS.Status -- PKEY_GPS_Status + Description: Indicates the status of the GPS receiver when the image was recorded. (eg: measurement in progress, + measurement interoperability). + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {125491F4-818F-46B2-91B5-D537753617B2}, 100 + + + + + Name: System.GPS.Track -- PKEY_GPS_Track + Description: Indicates the direction of the GPS receiver movement. Calculated from PKEY_GPS_TrackNumerator and + PKEY_GPS_TrackDenominator. + + Type: Double -- VT_R8 + FormatID: {76C09943-7C33-49E3-9E7E-CDBA872CFADA}, 100 + + + + + Name: System.GPS.TrackDenominator -- PKEY_GPS_TrackDenominator + Description: Denominator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {C8D1920C-01F6-40C0-AC86-2F3A4AD00770}, 100 + + + + + Name: System.GPS.TrackNumerator -- PKEY_GPS_TrackNumerator + Description: Numerator of PKEY_GPS_Track + + Type: UInt32 -- VT_UI4 + FormatID: {702926F4-44A6-43E1-AE71-45627116893B}, 100 + + + + + Name: System.GPS.TrackRef -- PKEY_GPS_TrackRef + Description: Indicates reference for the direction of the GPS receiver movement. (eg: true direction, magnetic direction) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {35DBE6FE-44C3-4400-AAAE-D2C799C407E8}, 100 + + + + + Name: System.GPS.VersionID -- PKEY_GPS_VersionID + Description: Indicates the version of the GPS information + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {22704DA4-C6B2-4A99-8E56-F16DF8C92599}, 100 + + + + + Identity Properties + + + + + Name: System.Identity.Blob -- PKEY_Identity_Blob + Description: Blob used to import/export identities + + Type: Blob -- VT_BLOB + FormatID: {8C3B93A4-BAED-1A83-9A32-102EE313F6EB}, 100 + + + + + Name: System.Identity.DisplayName -- PKEY_Identity_DisplayName + Description: Display Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7D683FC9-D155-45A8-BB1F-89D19BCB792F}, 100 + + + + + Name: System.Identity.IsMeIdentity -- PKEY_Identity_IsMeIdentity + Description: Is it Me Identity + + Type: Boolean -- VT_BOOL + FormatID: {A4108708-09DF-4377-9DFC-6D99986D5A67}, 100 + + + + + Name: System.Identity.PrimaryEmailAddress -- PKEY_Identity_PrimaryEmailAddress + Description: Primary Email Address + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FCC16823-BAED-4F24-9B32-A0982117F7FA}, 100 + + + + + Name: System.Identity.ProviderID -- PKEY_Identity_ProviderID + Description: Provider ID + + Type: Guid -- VT_CLSID + FormatID: {74A7DE49-FA11-4D3D-A006-DB7E08675916}, 100 + + + + + Name: System.Identity.UniqueID -- PKEY_Identity_UniqueID + Description: Unique ID + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E55FC3B0-2B60-4220-918E-B21E8BF16016}, 100 + + + + + Name: System.Identity.UserName -- PKEY_Identity_UserName + Description: Identity User Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C4322503-78CA-49C6-9ACC-A68E2AFD7B6B}, 100 + + + + + IdentityProvider Properties + + + + + Name: System.IdentityProvider.Name -- PKEY_IdentityProvider_Name + Description: Identity Provider Name + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {B96EFF7B-35CA-4A35-8607-29E3A54C46EA}, 100 + + + + + Name: System.IdentityProvider.Picture -- PKEY_IdentityProvider_Picture + Description: Picture for the Identity Provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2425166F-5642-4864-992F-98FD98F294C3}, 100 + + + + + Image Properties + + + + + Name: System.Image.BitDepth -- PKEY_Image_BitDepth + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 7 (PIDISI_BITDEPTH) + + + + + Name: System.Image.ColorSpace -- PKEY_Image_ColorSpace + Description: PropertyTagExifColorSpace + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 40961 + + + + + Name: System.Image.CompressedBitsPerPixel -- PKEY_Image_CompressedBitsPerPixel + Description: Calculated from PKEY_Image_CompressedBitsPerPixelNumerator and PKEY_Image_CompressedBitsPerPixelDenominator. + + Type: Double -- VT_R8 + FormatID: {364B6FA9-37AB-482A-BE2B-AE02F60D4318}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelDenominator -- PKEY_Image_CompressedBitsPerPixelDenominator + Description: Denominator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {1F8844E1-24AD-4508-9DFD-5326A415CE02}, 100 + + + + + Name: System.Image.CompressedBitsPerPixelNumerator -- PKEY_Image_CompressedBitsPerPixelNumerator + Description: Numerator of PKEY_Image_CompressedBitsPerPixel. + + Type: UInt32 -- VT_UI4 + FormatID: {D21A7148-D32C-4624-8900-277210F79C0F}, 100 + + + + + Name: System.Image.Compression -- PKEY_Image_Compression + Description: Indicates the image compression level. PropertyTagCompression. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 259 + + + + + Name: System.Image.CompressionText -- PKEY_Image_CompressionText + Description: This is the user-friendly form of System.Image.Compression. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3F08E66F-2F44-4BB9-A682-AC35D2562322}, 100 + + + + + Name: System.Image.Dimensions -- PKEY_Image_Dimensions + Description: Indicates the dimensions of the image. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 13 (PIDISI_DIMENSIONS) + + + + + Name: System.Image.HorizontalResolution -- PKEY_Image_HorizontalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 5 (PIDISI_RESOLUTIONX) + + + + + Name: System.Image.HorizontalSize -- PKEY_Image_HorizontalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 3 (PIDISI_CX) + + + + + Name: System.Image.ImageID -- PKEY_Image_ImageID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {10DABE05-32AA-4C29-BF1A-63E2D220587F}, 100 + + + + + Name: System.Image.ResolutionUnit -- PKEY_Image_ResolutionUnit + Description: + Type: Int16 -- VT_I2 + FormatID: {19B51FA6-1F92-4A5C-AB48-7DF0ABD67444}, 100 + + + + + Name: System.Image.VerticalResolution -- PKEY_Image_VerticalResolution + Description: + + Type: Double -- VT_R8 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 6 (PIDISI_RESOLUTIONY) + + + + + Name: System.Image.VerticalSize -- PKEY_Image_VerticalSize + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 4 (PIDISI_CY) + + + + + Journal Properties + + + + + Name: System.Journal.Contacts -- PKEY_Journal_Contacts + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {DEA7C82C-1D89-4A66-9427-A4E3DEBABCB1}, 100 + + + + + Name: System.Journal.EntryType -- PKEY_Journal_EntryType + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {95BEB1FC-326D-4644-B396-CD3ED90E6DDF}, 100 + + + + + LayoutPattern Properties + + + + + Name: System.LayoutPattern.ContentViewModeForBrowse -- PKEY_LayoutPattern_ContentViewModeForBrowse + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of browsing. + Register the regvalue under the name of "ContentViewModeLayoutPatternForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 500 + + + + + Name: System.LayoutPattern.ContentViewModeForSearch -- PKEY_LayoutPattern_ContentViewModeForSearch + Description: Specifies the layout pattern that the content view mode should apply for this item in the context of searching. + Register the regvalue under the name of "ContentViewModeLayoutPatternForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 501 + + + + + Link Properties + + + + + Name: System.Link.Arguments -- PKEY_Link_Arguments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {436F2667-14E2-4FEB-B30A-146C53B5B674}, 100 + + + + + Name: System.Link.Comment -- PKEY_Link_Comment + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 5 + + + + + Name: System.Link.DateVisited -- PKEY_Link_DateVisited + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 23 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Description -- PKEY_Link_Description + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 21 (PKEYs relating to URLs. Used by IE History.) + + + + + Name: System.Link.Status -- PKEY_Link_Status + Description: + + Type: Int32 -- VT_I4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 3 (PID_LINK_TARGET_TYPE) + + + + + Name: System.Link.TargetExtension -- PKEY_Link_TargetExtension + Description: The file extension of the link target. See System.File.Extension + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {7A7D76F4-B630-4BD7-95FF-37CC51A975C9}, 2 + + + + + Name: System.Link.TargetParsingPath -- PKEY_Link_TargetParsingPath + Description: This is the shell namespace path to the target of the link item. This path may be passed to + SHParseDisplayName to parse the path to the correct shell folder. + + If the target item is a file, the value is identical to System.ItemPathDisplay. + + If the target item cannot be accessed through the shell namespace, this value is VT_EMPTY. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 2 (PID_LINK_TARGET) + + + + + Name: System.Link.TargetSFGAOFlags -- PKEY_Link_TargetSFGAOFlags + Description: IShellFolder::GetAttributesOf flags for the target of a link, with SFGAO_PKEYSFGAOMASK + attributes masked out. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_LINK) {B9B4B3FC-2B51-4A42-B5D8-324146AFCF25}, 8 + + + + + Name: System.Link.TargetSFGAOFlagsStrings -- PKEY_Link_TargetSFGAOFlagsStrings + Description: Expresses the SFGAO flags of a link as string values and is used as a query optimization. See + PKEY_Shell_SFGAOFlagsStrings for possible values of this. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 3 + + + + + Name: System.Link.TargetUrl -- PKEY_Link_TargetUrl + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {5CBF2787-48CF-4208-B90E-EE5E5D420294}, 2 (PKEYs relating to URLs. Used by IE History.) + + + + + Media Properties + + + + + Name: System.Media.AuthorUrl -- PKEY_Media_AuthorUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 32 (PIDMSI_AUTHOR_URL) + + + + + Name: System.Media.AverageLevel -- PKEY_Media_AverageLevel + Description: + Type: UInt32 -- VT_UI4 + FormatID: {09EDD5B6-B301-43C5-9990-D00302EFFD46}, 100 + + + + + Name: System.Media.ClassPrimaryID -- PKEY_Media_ClassPrimaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 13 (PIDMSI_CLASS_PRIMARY_ID) + + + + + Name: System.Media.ClassSecondaryID -- PKEY_Media_ClassSecondaryID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 14 (PIDMSI_CLASS_SECONDARY_ID) + + + + + Name: System.Media.CollectionGroupID -- PKEY_Media_CollectionGroupID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 24 (PIDMSI_COLLECTION_GROUP_ID) + + + + + Name: System.Media.CollectionID -- PKEY_Media_CollectionID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 25 (PIDMSI_COLLECTION_ID) + + + + + Name: System.Media.ContentDistributor -- PKEY_Media_ContentDistributor + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 18 (PIDMSI_CONTENTDISTRIBUTOR) + + + + + Name: System.Media.ContentID -- PKEY_Media_ContentID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 26 (PIDMSI_CONTENT_ID) + + + + + Name: System.Media.CreatorApplication -- PKEY_Media_CreatorApplication + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 27 (PIDMSI_TOOL_NAME) + + + + + Name: System.Media.CreatorApplicationVersion -- PKEY_Media_CreatorApplicationVersion + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 28 (PIDMSI_TOOL_VERSION) + + + + + Name: System.Media.DateEncoded -- PKEY_Media_DateEncoded + Description: DateTime is in UTC (in the doc, not file system). + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {2E4B640D-5019-46D8-8881-55414CC5CAA0}, 100 + + + + + Name: System.Media.DateReleased -- PKEY_Media_DateReleased + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE41CC29-6971-4290-B472-F59F2E2F31E2}, 100 + + + + + Name: System.Media.Duration -- PKEY_Media_Duration + Description: 100ns units, not milliseconds + + Type: UInt64 -- VT_UI8 + FormatID: (FMTID_AudioSummaryInformation) {64440490-4C8B-11D1-8B70-080036B11A03}, 3 (PIDASI_TIMELENGTH) + + + + + Name: System.Media.DVDID -- PKEY_Media_DVDID + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 15 (PIDMSI_DVDID) + + + + + Name: System.Media.EncodedBy -- PKEY_Media_EncodedBy + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 36 (PIDMSI_ENCODED_BY) + + + + + Name: System.Media.EncodingSettings -- PKEY_Media_EncodingSettings + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 37 (PIDMSI_ENCODING_SETTINGS) + + + + + Name: System.Media.FrameCount -- PKEY_Media_FrameCount + Description: Indicates the frame count for the image. + + Type: UInt32 -- VT_UI4 + FormatID: (PSGUID_IMAGESUMMARYINFORMATION) {6444048F-4C8B-11D1-8B70-080036B11A03}, 12 (PIDISI_FRAMECOUNT) + + + + + Name: System.Media.MCDI -- PKEY_Media_MCDI + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 16 (PIDMSI_MCDI) + + + + + Name: System.Media.MetadataContentProvider -- PKEY_Media_MetadataContentProvider + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 17 (PIDMSI_PROVIDER) + + + + + Name: System.Media.Producer -- PKEY_Media_Producer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 22 (PIDMSI_PRODUCER) + + + + + Name: System.Media.PromotionUrl -- PKEY_Media_PromotionUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 33 (PIDMSI_PROMOTION_URL) + + + + + Name: System.Media.ProtectionType -- PKEY_Media_ProtectionType + Description: If media is protected, how is it protected? + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 38 + + + + + Name: System.Media.ProviderRating -- PKEY_Media_ProviderRating + Description: Rating (0 - 99) supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 39 + + + + + Name: System.Media.ProviderStyle -- PKEY_Media_ProviderStyle + Description: Style of music or video, supplied by metadata provider + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 40 + + + + + Name: System.Media.Publisher -- PKEY_Media_Publisher + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 30 (PIDMSI_PUBLISHER) + + + + + Name: System.Media.SubscriptionContentId -- PKEY_Media_SubscriptionContentId + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {9AEBAE7A-9644-487D-A92C-657585ED751A}, 100 + + + + + Name: System.Media.SubTitle -- PKEY_Media_SubTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 38 (PIDSI_MUSIC_SUB_TITLE) + + + + + Name: System.Media.UniqueFileIdentifier -- PKEY_Media_UniqueFileIdentifier + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 35 (PIDMSI_UNIQUE_FILE_IDENTIFIER) + + + + + Name: System.Media.UserNoAutoInfo -- PKEY_Media_UserNoAutoInfo + Description: If true, do NOT alter this file's metadata. Set by user. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 41 + + + + + Name: System.Media.UserWebUrl -- PKEY_Media_UserWebUrl + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 34 (PIDMSI_USER_WEB_URL) + + + + + Name: System.Media.Writer -- PKEY_Media_Writer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 23 (PIDMSI_WRITER) + + + + + Name: System.Media.Year -- PKEY_Media_Year + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 5 (PIDSI_MUSIC_YEAR) + + + + + Message Properties + + + + + Name: System.Message.AttachmentContents -- PKEY_Message_AttachmentContents + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {3143BF7C-80A8-4854-8880-E2E40189BDD0}, 100 + + + + + Name: System.Message.AttachmentNames -- PKEY_Message_AttachmentNames + Description: The names of the attachments in a message + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 21 + + + + + Name: System.Message.BccAddress -- PKEY_Message_BccAddress + Description: Addresses in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 2 + + + + + Name: System.Message.BccName -- PKEY_Message_BccName + Description: person names in Bcc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 3 + + + + + Name: System.Message.CcAddress -- PKEY_Message_CcAddress + Description: Addresses in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 4 + + + + + Name: System.Message.CcName -- PKEY_Message_CcName + Description: person names in Cc: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 5 + + + + + Name: System.Message.ConversationID -- PKEY_Message_ConversationID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 100 + + + + + Name: System.Message.ConversationIndex -- PKEY_Message_ConversationIndex + Description: + + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {DC8F80BD-AF1E-4289-85B6-3DFC1B493992}, 101 + + + + + Name: System.Message.DateReceived -- PKEY_Message_DateReceived + Description: Date and Time communication was received + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 20 + + + + + Name: System.Message.DateSent -- PKEY_Message_DateSent + Description: Date and Time communication was sent + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 19 + + + + + Name: System.Message.Flags -- PKEY_Message_Flags + Description: These are flags associated with email messages to know if a read receipt is pending, etc. + The values stored here by Outlook are defined for PR_MESSAGE_FLAGS on MSDN. + + Type: Int32 -- VT_I4 + FormatID: {A82D9EE7-CA67-4312-965E-226BCEA85023}, 100 + + + + + Name: System.Message.FromAddress -- PKEY_Message_FromAddress + Description: + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 13 + + + + + Name: System.Message.FromName -- PKEY_Message_FromName + Description: Address in from field as person name + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 14 + + + + + Name: System.Message.HasAttachments -- PKEY_Message_HasAttachments + Description: + + Type: Boolean -- VT_BOOL + FormatID: {9C1FCF74-2D97-41BA-B4AE-CB2E3661A6E4}, 8 + + + + + Name: System.Message.IsFwdOrReply -- PKEY_Message_IsFwdOrReply + Description: + Type: Int32 -- VT_I4 + FormatID: {9A9BC088-4F6D-469E-9919-E705412040F9}, 100 + + + + + Name: System.Message.MessageClass -- PKEY_Message_MessageClass + Description: What type of outlook msg this is (meeting, task, mail, etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CD9ED458-08CE-418F-A70E-F912C7BB9C5C}, 103 + + + + + Name: System.Message.ProofInProgress -- PKEY_Message_ProofInProgress + Description: This property will be true if the message junk email proofing is still in progress. + + Type: Boolean -- VT_BOOL + FormatID: {9098F33C-9A7D-48A8-8DE5-2E1227A64E91}, 100 + + + + + Name: System.Message.SenderAddress -- PKEY_Message_SenderAddress + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0BE1C8E7-1981-4676-AE14-FDD78F05A6E7}, 100 + + + + + Name: System.Message.SenderName -- PKEY_Message_SenderName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0DA41CFA-D224-4A18-AE2F-596158DB4B3A}, 100 + + + + + Name: System.Message.Store -- PKEY_Message_Store + Description: The store (aka protocol handler) FILE, MAIL, OUTLOOKEXPRESS + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 15 + + + + + Name: System.Message.ToAddress -- PKEY_Message_ToAddress + Description: Addresses in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 16 + + + + + Name: System.Message.ToDoFlags -- PKEY_Message_ToDoFlags + Description: Flags associated with a message flagged to know if it's still active, if it was custom flagged, etc. + + Type: Int32 -- VT_I4 + FormatID: {1F856A9F-6900-4ABA-9505-2D5F1B4D66CB}, 100 + + + + + Name: System.Message.ToDoTitle -- PKEY_Message_ToDoTitle + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCCC8A3C-8CEF-42E5-9B1C-C69079398BC7}, 100 + + + + + Name: System.Message.ToName -- PKEY_Message_ToName + Description: Person names in To: field + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {E3E0584C-B788-4A5A-BB20-7F5A44C9ACDD}, 17 + + + + + Music Properties + + + + + Name: System.Music.AlbumArtist -- PKEY_Music_AlbumArtist + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 13 (PIDSI_MUSIC_ALBUM_ARTIST) + + + + + Name: System.Music.AlbumID -- PKEY_Music_AlbumID + Description: Concatenation of System.Music.AlbumArtist and System.Music.AlbumTitle, suitable for indexing and display. + Used to differentiate albums with the same title from different artists. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 100 + + + + + Name: System.Music.AlbumTitle -- PKEY_Music_AlbumTitle + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 4 (PIDSI_MUSIC_ALBUM) + + + + + Name: System.Music.Artist -- PKEY_Music_Artist + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 2 (PIDSI_MUSIC_ARTIST) + + + + + Name: System.Music.BeatsPerMinute -- PKEY_Music_BeatsPerMinute + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 35 (PIDSI_MUSIC_BEATS_PER_MINUTE) + + + + + Name: System.Music.Composer -- PKEY_Music_Composer + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 19 (PIDMSI_COMPOSER) + + + + + Name: System.Music.Conductor -- PKEY_Music_Conductor + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 36 (PIDSI_MUSIC_CONDUCTOR) + + + + + Name: System.Music.ContentGroupDescription -- PKEY_Music_ContentGroupDescription + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 33 (PIDSI_MUSIC_CONTENT_GROUP_DESCRIPTION) + + + + + Name: System.Music.DisplayArtist -- PKEY_Music_DisplayArtist + Description: This property returns the best representation of Album Artist for a given music file + based upon AlbumArtist, ContributingArtist and compilation info. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FD122953-FA93-4EF7-92C3-04C946B2F7C8}, 100 + + + + + Name: System.Music.Genre -- PKEY_Music_Genre + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 11 (PIDSI_MUSIC_GENRE) + + + + + Name: System.Music.InitialKey -- PKEY_Music_InitialKey + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 34 (PIDSI_MUSIC_INITIAL_KEY) + + + + + Name: System.Music.IsCompilation -- PKEY_Music_IsCompilation + Description: Indicates whether the file is part of a compilation. + + Type: Boolean -- VT_BOOL + FormatID: {C449D5CB-9EA4-4809-82E8-AF9D59DED6D1}, 100 + + + + + Name: System.Music.Lyrics -- PKEY_Music_Lyrics + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 12 (PIDSI_MUSIC_LYRICS) + + + + + Name: System.Music.Mood -- PKEY_Music_Mood + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 39 (PIDSI_MUSIC_MOOD) + + + + + Name: System.Music.PartOfSet -- PKEY_Music_PartOfSet + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 37 (PIDSI_MUSIC_PART_OF_SET) + + + + + Name: System.Music.Period -- PKEY_Music_Period + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 31 (PIDMSI_PERIOD) + + + + + Name: System.Music.SynchronizedLyrics -- PKEY_Music_SynchronizedLyrics + Description: + Type: Blob -- VT_BLOB + FormatID: {6B223B6A-162E-4AA9-B39F-05D678FC6D77}, 100 + + + + + Name: System.Music.TrackNumber -- PKEY_Music_TrackNumber + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_MUSIC) {56A3372E-CE9C-11D2-9F0E-006097C686F6}, 7 (PIDSI_MUSIC_TRACK) + + + + + Note Properties + + + + + Name: System.Note.Color -- PKEY_Note_Color + Description: + Type: UInt16 -- VT_UI2 + FormatID: {4776CAFA-BCE4-4CB1-A23E-265E76D8EB11}, 100 + + + + + Name: System.Note.ColorText -- PKEY_Note_ColorText + Description: This is the user-friendly form of System.Note.Color. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {46B4E8DE-CDB2-440D-885C-1658EB65B914}, 100 + + + + + Photo Properties + + + + + Name: System.Photo.Aperture -- PKEY_Photo_Aperture + Description: PropertyTagExifAperture. Calculated from PKEY_Photo_ApertureNumerator and PKEY_Photo_ApertureDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37378 + + + + + Name: System.Photo.ApertureDenominator -- PKEY_Photo_ApertureDenominator + Description: Denominator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {E1A9A38B-6685-46BD-875E-570DC7AD7320}, 100 + + + + + Name: System.Photo.ApertureNumerator -- PKEY_Photo_ApertureNumerator + Description: Numerator of PKEY_Photo_Aperture + + Type: UInt32 -- VT_UI4 + FormatID: {0337ECEC-39FB-4581-A0BD-4C4CC51E9914}, 100 + + + + + Name: System.Photo.Brightness -- PKEY_Photo_Brightness + Description: This is the brightness of the photo. + + Calculated from PKEY_Photo_BrightnessNumerator and PKEY_Photo_BrightnessDenominator. + + The units are "APEX", normally in the range of -99.99 to 99.99. If the numerator of + the recorded value is FFFFFFFF.H, "Unknown" should be indicated. + + Type: Double -- VT_R8 + FormatID: {1A701BF6-478C-4361-83AB-3701BB053C58}, 100 (PropertyTagExifBrightness) + + + + + Name: System.Photo.BrightnessDenominator -- PKEY_Photo_BrightnessDenominator + Description: Denominator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {6EBE6946-2321-440A-90F0-C043EFD32476}, 100 + + + + + Name: System.Photo.BrightnessNumerator -- PKEY_Photo_BrightnessNumerator + Description: Numerator of PKEY_Photo_Brightness + + Type: UInt32 -- VT_UI4 + FormatID: {9E7D118F-B314-45A0-8CFB-D654B917C9E9}, 100 + + + + + Name: System.Photo.CameraManufacturer -- PKEY_Photo_CameraManufacturer + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 271 (PropertyTagEquipMake) + + + + + Name: System.Photo.CameraModel -- PKEY_Photo_CameraModel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 272 (PropertyTagEquipModel) + + + + + Name: System.Photo.CameraSerialNumber -- PKEY_Photo_CameraSerialNumber + Description: Serial number of camera that produced this photo + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 273 + + + + + Name: System.Photo.Contrast -- PKEY_Photo_Contrast + Description: This indicates the direction of contrast processing applied by the camera + when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {2A785BA9-8D23-4DED-82E6-60A350C86A10}, 100 + + + + + Name: System.Photo.ContrastText -- PKEY_Photo_ContrastText + Description: This is the user-friendly form of System.Photo.Contrast. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {59DDE9F2-5253-40EA-9A8B-479E96C6249A}, 100 + + + + + Name: System.Photo.DateTaken -- PKEY_Photo_DateTaken + Description: PropertyTagExifDTOrig + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 36867 + + + + + Name: System.Photo.DigitalZoom -- PKEY_Photo_DigitalZoom + Description: PropertyTagExifDigitalZoom. Calculated from PKEY_Photo_DigitalZoomNumerator and PKEY_Photo_DigitalZoomDenominator + + Type: Double -- VT_R8 + FormatID: {F85BF840-A925-4BC2-B0C4-8E36B598679E}, 100 + + + + + Name: System.Photo.DigitalZoomDenominator -- PKEY_Photo_DigitalZoomDenominator + Description: Denominator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {745BAF0E-E5C1-4CFB-8A1B-D031A0A52393}, 100 + + + + + Name: System.Photo.DigitalZoomNumerator -- PKEY_Photo_DigitalZoomNumerator + Description: Numerator of PKEY_Photo_DigitalZoom + + Type: UInt32 -- VT_UI4 + FormatID: {16CBB924-6500-473B-A5BE-F1599BCBE413}, 100 + + + + + Name: System.Photo.Event -- PKEY_Photo_Event + Description: The event at which the photo was taken + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 18248 + + + + + Name: System.Photo.EXIFVersion -- PKEY_Photo_EXIFVersion + Description: The EXIF version. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D35F743A-EB2E-47F2-A286-844132CB1427}, 100 + + + + + Name: System.Photo.ExposureBias -- PKEY_Photo_ExposureBias + Description: PropertyTagExifExposureBias. Calculated from PKEY_Photo_ExposureBiasNumerator and PKEY_Photo_ExposureBiasDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37380 + + + + + Name: System.Photo.ExposureBiasDenominator -- PKEY_Photo_ExposureBiasDenominator + Description: Denominator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {AB205E50-04B7-461C-A18C-2F233836E627}, 100 + + + + + Name: System.Photo.ExposureBiasNumerator -- PKEY_Photo_ExposureBiasNumerator + Description: Numerator of PKEY_Photo_ExposureBias + + Type: Int32 -- VT_I4 + FormatID: {738BF284-1D87-420B-92CF-5834BF6EF9ED}, 100 + + + + + Name: System.Photo.ExposureIndex -- PKEY_Photo_ExposureIndex + Description: PropertyTagExifExposureIndex. Calculated from PKEY_Photo_ExposureIndexNumerator and PKEY_Photo_ExposureIndexDenominator + + Type: Double -- VT_R8 + FormatID: {967B5AF8-995A-46ED-9E11-35B3C5B9782D}, 100 + + + + + Name: System.Photo.ExposureIndexDenominator -- PKEY_Photo_ExposureIndexDenominator + Description: Denominator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {93112F89-C28B-492F-8A9D-4BE2062CEE8A}, 100 + + + + + Name: System.Photo.ExposureIndexNumerator -- PKEY_Photo_ExposureIndexNumerator + Description: Numerator of PKEY_Photo_ExposureIndex + + Type: UInt32 -- VT_UI4 + FormatID: {CDEDCF30-8919-44DF-8F4C-4EB2FFDB8D89}, 100 + + + + + Name: System.Photo.ExposureProgram -- PKEY_Photo_ExposureProgram + Description: + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34850 (PropertyTagExifExposureProg) + + + + + Name: System.Photo.ExposureProgramText -- PKEY_Photo_ExposureProgramText + Description: This is the user-friendly form of System.Photo.ExposureProgram. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FEC690B7-5F30-4646-AE47-4CAAFBA884A3}, 100 + + + + + Name: System.Photo.ExposureTime -- PKEY_Photo_ExposureTime + Description: PropertyTagExifExposureTime. Calculated from PKEY_Photo_ExposureTimeNumerator and PKEY_Photo_ExposureTimeDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33434 + + + + + Name: System.Photo.ExposureTimeDenominator -- PKEY_Photo_ExposureTimeDenominator + Description: Denominator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {55E98597-AD16-42E0-B624-21599A199838}, 100 + + + + + Name: System.Photo.ExposureTimeNumerator -- PKEY_Photo_ExposureTimeNumerator + Description: Numerator of PKEY_Photo_ExposureTime + + Type: UInt32 -- VT_UI4 + FormatID: {257E44E2-9031-4323-AC38-85C552871B2E}, 100 + + + + + Name: System.Photo.Flash -- PKEY_Photo_Flash + Description: PropertyTagExifFlash + + Type: Byte -- VT_UI1 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37385 + + + + + Name: System.Photo.FlashEnergy -- PKEY_Photo_FlashEnergy + Description: PropertyTagExifFlashEnergy. Calculated from PKEY_Photo_FlashEnergyNumerator and PKEY_Photo_FlashEnergyDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 41483 + + + + + Name: System.Photo.FlashEnergyDenominator -- PKEY_Photo_FlashEnergyDenominator + Description: Denominator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {D7B61C70-6323-49CD-A5FC-C84277162C97}, 100 + + + + + Name: System.Photo.FlashEnergyNumerator -- PKEY_Photo_FlashEnergyNumerator + Description: Numerator of PKEY_Photo_FlashEnergy + + Type: UInt32 -- VT_UI4 + FormatID: {FCAD3D3D-0858-400F-AAA3-2F66CCE2A6BC}, 100 + + + + + Name: System.Photo.FlashManufacturer -- PKEY_Photo_FlashManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {AABAF6C9-E0C5-4719-8585-57B103E584FE}, 100 + + + + + Name: System.Photo.FlashModel -- PKEY_Photo_FlashModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {FE83BB35-4D1A-42E2-916B-06F3E1AF719E}, 100 + + + + + Name: System.Photo.FlashText -- PKEY_Photo_FlashText + Description: This is the user-friendly form of System.Photo.Flash. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6B8B68F6-200B-47EA-8D25-D8050F57339F}, 100 + + + + + Name: System.Photo.FNumber -- PKEY_Photo_FNumber + Description: PropertyTagExifFNumber. Calculated from PKEY_Photo_FNumberNumerator and PKEY_Photo_FNumberDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 33437 + + + + + Name: System.Photo.FNumberDenominator -- PKEY_Photo_FNumberDenominator + Description: Denominator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {E92A2496-223B-4463-A4E3-30EABBA79D80}, 100 + + + + + Name: System.Photo.FNumberNumerator -- PKEY_Photo_FNumberNumerator + Description: Numerator of PKEY_Photo_FNumber + + Type: UInt32 -- VT_UI4 + FormatID: {1B97738A-FDFC-462F-9D93-1957E08BE90C}, 100 + + + + + Name: System.Photo.FocalLength -- PKEY_Photo_FocalLength + Description: PropertyTagExifFocalLength. Calculated from PKEY_Photo_FocalLengthNumerator and PKEY_Photo_FocalLengthDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37386 + + + + + Name: System.Photo.FocalLengthDenominator -- PKEY_Photo_FocalLengthDenominator + Description: Denominator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {305BC615-DCA1-44A5-9FD4-10C0BA79412E}, 100 + + + + + Name: System.Photo.FocalLengthInFilm -- PKEY_Photo_FocalLengthInFilm + Description: + Type: UInt16 -- VT_UI2 + FormatID: {A0E74609-B84D-4F49-B860-462BD9971F98}, 100 + + + + + Name: System.Photo.FocalLengthNumerator -- PKEY_Photo_FocalLengthNumerator + Description: Numerator of PKEY_Photo_FocalLength + + Type: UInt32 -- VT_UI4 + FormatID: {776B6B3B-1E3D-4B0C-9A0E-8FBAF2A8492A}, 100 + + + + + Name: System.Photo.FocalPlaneXResolution -- PKEY_Photo_FocalPlaneXResolution + Description: PropertyTagExifFocalXRes. Calculated from PKEY_Photo_FocalPlaneXResolutionNumerator and + PKEY_Photo_FocalPlaneXResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {CFC08D97-C6F7-4484-89DD-EBEF4356FE76}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionDenominator -- PKEY_Photo_FocalPlaneXResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {0933F3F5-4786-4F46-A8E8-D64DD37FA521}, 100 + + + + + Name: System.Photo.FocalPlaneXResolutionNumerator -- PKEY_Photo_FocalPlaneXResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneXResolution + + Type: UInt32 -- VT_UI4 + FormatID: {DCCB10AF-B4E2-4B88-95F9-031B4D5AB490}, 100 + + + + + Name: System.Photo.FocalPlaneYResolution -- PKEY_Photo_FocalPlaneYResolution + Description: PropertyTagExifFocalYRes. Calculated from PKEY_Photo_FocalPlaneYResolutionNumerator and + PKEY_Photo_FocalPlaneYResolutionDenominator. + + Type: Double -- VT_R8 + FormatID: {4FFFE4D0-914F-4AC4-8D6F-C9C61DE169B1}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionDenominator -- PKEY_Photo_FocalPlaneYResolutionDenominator + Description: Denominator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {1D6179A6-A876-4031-B013-3347B2B64DC8}, 100 + + + + + Name: System.Photo.FocalPlaneYResolutionNumerator -- PKEY_Photo_FocalPlaneYResolutionNumerator + Description: Numerator of PKEY_Photo_FocalPlaneYResolution + + Type: UInt32 -- VT_UI4 + FormatID: {A2E541C5-4440-4BA8-867E-75CFC06828CD}, 100 + + + + + Name: System.Photo.GainControl -- PKEY_Photo_GainControl + Description: This indicates the degree of overall image gain adjustment. + + Calculated from PKEY_Photo_GainControlNumerator and PKEY_Photo_GainControlDenominator. + + Type: Double -- VT_R8 + FormatID: {FA304789-00C7-4D80-904A-1E4DCC7265AA}, 100 (PropertyTagExifGainControl) + + + + + Name: System.Photo.GainControlDenominator -- PKEY_Photo_GainControlDenominator + Description: Denominator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {42864DFD-9DA4-4F77-BDED-4AAD7B256735}, 100 + + + + + Name: System.Photo.GainControlNumerator -- PKEY_Photo_GainControlNumerator + Description: Numerator of PKEY_Photo_GainControl + + Type: UInt32 -- VT_UI4 + FormatID: {8E8ECF7C-B7B8-4EB8-A63F-0EE715C96F9E}, 100 + + + + + Name: System.Photo.GainControlText -- PKEY_Photo_GainControlText + Description: This is the user-friendly form of System.Photo.GainControl. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C06238B2-0BF9-4279-A723-25856715CB9D}, 100 + + + + + Name: System.Photo.ISOSpeed -- PKEY_Photo_ISOSpeed + Description: PropertyTagExifISOSpeed + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 34855 + + + + + Name: System.Photo.LensManufacturer -- PKEY_Photo_LensManufacturer + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E6DDCAF7-29C5-4F0A-9A68-D19412EC7090}, 100 + + + + + Name: System.Photo.LensModel -- PKEY_Photo_LensModel + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {E1277516-2B5F-4869-89B1-2E585BD38B7A}, 100 + + + + + Name: System.Photo.LightSource -- PKEY_Photo_LightSource + Description: PropertyTagExifLightSource + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37384 + + + + + Name: System.Photo.MakerNote -- PKEY_Photo_MakerNote + Description: + Type: Buffer -- VT_VECTOR | VT_UI1 (For variants: VT_ARRAY | VT_UI1) + FormatID: {FA303353-B659-4052-85E9-BCAC79549B84}, 100 + + + + + Name: System.Photo.MakerNoteOffset -- PKEY_Photo_MakerNoteOffset + Description: + Type: UInt64 -- VT_UI8 + FormatID: {813F4124-34E6-4D17-AB3E-6B1F3C2247A1}, 100 + + + + + Name: System.Photo.MaxAperture -- PKEY_Photo_MaxAperture + Description: Calculated from PKEY_Photo_MaxApertureNumerator and PKEY_Photo_MaxApertureDenominator + + Type: Double -- VT_R8 + FormatID: {08F6D7C2-E3F2-44FC-AF1E-5AA5C81A2D3E}, 100 + + + + + Name: System.Photo.MaxApertureDenominator -- PKEY_Photo_MaxApertureDenominator + Description: Denominator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C77724D4-601F-46C5-9B89-C53F93BCEB77}, 100 + + + + + Name: System.Photo.MaxApertureNumerator -- PKEY_Photo_MaxApertureNumerator + Description: Numerator of PKEY_Photo_MaxAperture + + Type: UInt32 -- VT_UI4 + FormatID: {C107E191-A459-44C5-9AE6-B952AD4B906D}, 100 + + + + + Name: System.Photo.MeteringMode -- PKEY_Photo_MeteringMode + Description: PropertyTagExifMeteringMode + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37383 + + + + + Name: System.Photo.MeteringModeText -- PKEY_Photo_MeteringModeText + Description: This is the user-friendly form of System.Photo.MeteringMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {F628FD8C-7BA8-465A-A65B-C5AA79263A9E}, 100 + + + + + Name: System.Photo.Orientation -- PKEY_Photo_Orientation + Description: This is the image orientation viewed in terms of rows and columns. + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 274 (PropertyTagOrientation) + + + + + Name: System.Photo.OrientationText -- PKEY_Photo_OrientationText + Description: This is the user-friendly form of System.Photo.Orientation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A9EA193C-C511-498A-A06B-58E2776DCC28}, 100 + + + + + Name: System.Photo.PeopleNames -- PKEY_Photo_PeopleNames + Description: The people tags on an image. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {E8309B6E-084C-49B4-B1FC-90A80331B638}, 100 + + + + + Name: System.Photo.PhotometricInterpretation -- PKEY_Photo_PhotometricInterpretation + Description: This is the pixel composition. In JPEG compressed data, a JPEG marker is used + instead of this property. + + Type: UInt16 -- VT_UI2 + FormatID: {341796F1-1DF9-4B1C-A564-91BDEFA43877}, 100 + + + + + Name: System.Photo.PhotometricInterpretationText -- PKEY_Photo_PhotometricInterpretationText + Description: This is the user-friendly form of System.Photo.PhotometricInterpretation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {821437D6-9EAB-4765-A589-3B1CBBD22A61}, 100 + + + + + Name: System.Photo.ProgramMode -- PKEY_Photo_ProgramMode + Description: This is the class of the program used by the camera to set exposure when the + picture is taken. + + Type: UInt32 -- VT_UI4 + FormatID: {6D217F6D-3F6A-4825-B470-5F03CA2FBE9B}, 100 + + + + + Name: System.Photo.ProgramModeText -- PKEY_Photo_ProgramModeText + Description: This is the user-friendly form of System.Photo.ProgramMode. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7FE3AA27-2648-42F3-89B0-454E5CB150C3}, 100 + + + + + Name: System.Photo.RelatedSoundFile -- PKEY_Photo_RelatedSoundFile + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {318A6B45-087F-4DC2-B8CC-05359551FC9E}, 100 + + + + + Name: System.Photo.Saturation -- PKEY_Photo_Saturation + Description: This indicates the direction of saturation processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {49237325-A95A-4F67-B211-816B2D45D2E0}, 100 + + + + + Name: System.Photo.SaturationText -- PKEY_Photo_SaturationText + Description: This is the user-friendly form of System.Photo.Saturation. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {61478C08-B600-4A84-BBE4-E99C45F0A072}, 100 + + + + + Name: System.Photo.Sharpness -- PKEY_Photo_Sharpness + Description: This indicates the direction of sharpness processing applied by the camera when + the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {FC6976DB-8349-4970-AE97-B3C5316A08F0}, 100 + + + + + Name: System.Photo.SharpnessText -- PKEY_Photo_SharpnessText + Description: This is the user-friendly form of System.Photo.Sharpness. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {51EC3F47-DD50-421D-8769-334F50424B1E}, 100 + + + + + Name: System.Photo.ShutterSpeed -- PKEY_Photo_ShutterSpeed + Description: PropertyTagExifShutterSpeed. Calculated from PKEY_Photo_ShutterSpeedNumerator and PKEY_Photo_ShutterSpeedDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37377 + + + + + Name: System.Photo.ShutterSpeedDenominator -- PKEY_Photo_ShutterSpeedDenominator + Description: Denominator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {E13D8975-81C7-4948-AE3F-37CAE11E8FF7}, 100 + + + + + Name: System.Photo.ShutterSpeedNumerator -- PKEY_Photo_ShutterSpeedNumerator + Description: Numerator of PKEY_Photo_ShutterSpeed + + Type: Int32 -- VT_I4 + FormatID: {16EA4042-D6F4-4BCA-8349-7C78D30FB333}, 100 + + + + + Name: System.Photo.SubjectDistance -- PKEY_Photo_SubjectDistance + Description: PropertyTagExifSubjectDist. Calculated from PKEY_Photo_SubjectDistanceNumerator and PKEY_Photo_SubjectDistanceDenominator + + Type: Double -- VT_R8 + FormatID: (FMTID_ImageProperties) {14B81DA1-0135-4D31-96D9-6CBFC9671A99}, 37382 + + + + + Name: System.Photo.SubjectDistanceDenominator -- PKEY_Photo_SubjectDistanceDenominator + Description: Denominator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {0C840A88-B043-466D-9766-D4B26DA3FA77}, 100 + + + + + Name: System.Photo.SubjectDistanceNumerator -- PKEY_Photo_SubjectDistanceNumerator + Description: Numerator of PKEY_Photo_SubjectDistance + + Type: UInt32 -- VT_UI4 + FormatID: {8AF4961C-F526-43E5-AA81-DB768219178D}, 100 + + + + + Name: System.Photo.TagViewAggregate -- PKEY_Photo_TagViewAggregate + Description: A read-only aggregation of tag-like properties for use in building views. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) Legacy code may treat this as VT_LPSTR. + FormatID: {B812F15D-C2D8-4BBF-BACD-79744346113F}, 100 + + + + + Name: System.Photo.TranscodedForSync -- PKEY_Photo_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: {9A8EBB75-6458-4E82-BACB-35C0095B03BB}, 100 + + + + + Name: System.Photo.WhiteBalance -- PKEY_Photo_WhiteBalance + Description: This indicates the white balance mode set when the image was shot. + + Type: UInt32 -- VT_UI4 + FormatID: {EE3D3D8A-5381-4CFA-B13B-AAF66B5F4EC9}, 100 + + + + + Name: System.Photo.WhiteBalanceText -- PKEY_Photo_WhiteBalanceText + Description: This is the user-friendly form of System.Photo.WhiteBalance. Not intended to be parsed + programmatically. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6336B95E-C7A7-426D-86FD-7AE3D39C84B4}, 100 + + + + + PropGroup Properties + + + + + Name: System.PropGroup.Advanced -- PKEY_PropGroup_Advanced + Description: + Type: Null -- VT_NULL + FormatID: {900A403B-097B-4B95-8AE2-071FDAEEB118}, 100 + + + + + Name: System.PropGroup.Audio -- PKEY_PropGroup_Audio + Description: + Type: Null -- VT_NULL + FormatID: {2804D469-788F-48AA-8570-71B9C187E138}, 100 + + + + + Name: System.PropGroup.Calendar -- PKEY_PropGroup_Calendar + Description: + Type: Null -- VT_NULL + FormatID: {9973D2B5-BFD8-438A-BA94-5349B293181A}, 100 + + + + + Name: System.PropGroup.Camera -- PKEY_PropGroup_Camera + Description: + Type: Null -- VT_NULL + FormatID: {DE00DE32-547E-4981-AD4B-542F2E9007D8}, 100 + + + + + Name: System.PropGroup.Contact -- PKEY_PropGroup_Contact + Description: + Type: Null -- VT_NULL + FormatID: {DF975FD3-250A-4004-858F-34E29A3E37AA}, 100 + + + + + Name: System.PropGroup.Content -- PKEY_PropGroup_Content + Description: + Type: Null -- VT_NULL + FormatID: {D0DAB0BA-368A-4050-A882-6C010FD19A4F}, 100 + + + + + Name: System.PropGroup.Description -- PKEY_PropGroup_Description + Description: + Type: Null -- VT_NULL + FormatID: {8969B275-9475-4E00-A887-FF93B8B41E44}, 100 + + + + + Name: System.PropGroup.FileSystem -- PKEY_PropGroup_FileSystem + Description: + Type: Null -- VT_NULL + FormatID: {E3A7D2C1-80FC-4B40-8F34-30EA111BDC2E}, 100 + + + + + Name: System.PropGroup.General -- PKEY_PropGroup_General + Description: + Type: Null -- VT_NULL + FormatID: {CC301630-B192-4C22-B372-9F4C6D338E07}, 100 + + + + + Name: System.PropGroup.GPS -- PKEY_PropGroup_GPS + Description: + Type: Null -- VT_NULL + FormatID: {F3713ADA-90E3-4E11-AAE5-FDC17685B9BE}, 100 + + + + + Name: System.PropGroup.Image -- PKEY_PropGroup_Image + Description: + Type: Null -- VT_NULL + FormatID: {E3690A87-0FA8-4A2A-9A9F-FCE8827055AC}, 100 + + + + + Name: System.PropGroup.Media -- PKEY_PropGroup_Media + Description: + Type: Null -- VT_NULL + FormatID: {61872CF7-6B5E-4B4B-AC2D-59DA84459248}, 100 + + + + + Name: System.PropGroup.MediaAdvanced -- PKEY_PropGroup_MediaAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {8859A284-DE7E-4642-99BA-D431D044B1EC}, 100 + + + + + Name: System.PropGroup.Message -- PKEY_PropGroup_Message + Description: + Type: Null -- VT_NULL + FormatID: {7FD7259D-16B4-4135-9F97-7C96ECD2FA9E}, 100 + + + + + Name: System.PropGroup.Music -- PKEY_PropGroup_Music + Description: + Type: Null -- VT_NULL + FormatID: {68DD6094-7216-40F1-A029-43FE7127043F}, 100 + + + + + Name: System.PropGroup.Origin -- PKEY_PropGroup_Origin + Description: + Type: Null -- VT_NULL + FormatID: {2598D2FB-5569-4367-95DF-5CD3A177E1A5}, 100 + + + + + Name: System.PropGroup.PhotoAdvanced -- PKEY_PropGroup_PhotoAdvanced + Description: + Type: Null -- VT_NULL + FormatID: {0CB2BF5A-9EE7-4A86-8222-F01E07FDADAF}, 100 + + + + + Name: System.PropGroup.RecordedTV -- PKEY_PropGroup_RecordedTV + Description: + Type: Null -- VT_NULL + FormatID: {E7B33238-6584-4170-A5C0-AC25EFD9DA56}, 100 + + + + + Name: System.PropGroup.Video -- PKEY_PropGroup_Video + Description: + Type: Null -- VT_NULL + FormatID: {BEBE0920-7671-4C54-A3EB-49FDDFC191EE}, 100 + + + + + PropList Properties + + + + + Name: System.PropList.ConflictPrompt -- PKEY_PropList_ConflictPrompt + Description: The list of properties to show in the file operation conflict resolution dialog. Properties with empty + values will not be displayed. Register under the regvalue of "ConflictPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 11 + + + + + Name: System.PropList.ContentViewModeForBrowse -- PKEY_PropList_ContentViewModeForBrowse + Description: The list of properties to show in the content view mode of an item in the context of browsing. + Register the regvalue under the name of "ContentViewModeForBrowse". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 13 + + + + + Name: System.PropList.ContentViewModeForSearch -- PKEY_PropList_ContentViewModeForSearch + Description: The list of properties to show in the content view mode of an item in the context of searching. + Register the regvalue under the name of "ContentViewModeForSearch". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 14 + + + + + Name: System.PropList.ExtendedTileInfo -- PKEY_PropList_ExtendedTileInfo + Description: The list of properties to show in the listview on extended tiles. Register under the regvalue of + "ExtendedTileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 9 + + + + + Name: System.PropList.FileOperationPrompt -- PKEY_PropList_FileOperationPrompt + Description: The list of properties to show in the file operation confirmation dialog. Properties with empty values + will not be displayed. If this list is not specified, then the InfoTip property list is used instead. + Register under the regvalue of "FileOperationPrompt". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 10 + + + + + Name: System.PropList.FullDetails -- PKEY_PropList_FullDetails + Description: The list of all the properties to show in the details page. Property groups can be included in this list + in order to more easily organize the UI. Register under the regvalue of "FullDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 2 + + + + + Name: System.PropList.InfoTip -- PKEY_PropList_InfoTip + Description: The list of properties to show in the infotip. Properties with empty values will not be displayed. Register + under the regvalue of "InfoTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 4 (PID_PROPLIST_INFOTIP) + + + + + Name: System.PropList.NonPersonal -- PKEY_PropList_NonPersonal + Description: The list of properties that are considered 'non-personal'. When told to remove all non-personal properties + from a given file, the system will leave these particular properties untouched. Register under the regvalue + of "NonPersonal". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {49D1091F-082E-493F-B23F-D2308AA9668C}, 100 + + + + + Name: System.PropList.PreviewDetails -- PKEY_PropList_PreviewDetails + Description: The list of properties to display in the preview pane. Register under the regvalue of "PreviewDetails". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 8 + + + + + Name: System.PropList.PreviewTitle -- PKEY_PropList_PreviewTitle + Description: The one or two properties to display in the preview pane title section. The optional second property is + displayed as a subtitle. Register under the regvalue of "PreviewTitle". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 6 + + + + + Name: System.PropList.QuickTip -- PKEY_PropList_QuickTip + Description: The list of properties to show in the infotip when the item is on a slow network. Properties with empty + values will not be displayed. Register under the regvalue of "QuickTip". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 5 (PID_PROPLIST_QUICKTIP) + + + + + Name: System.PropList.TileInfo -- PKEY_PropList_TileInfo + Description: The list of properties to show in the listview on tiles. Register under the regvalue of "TileInfo". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {C9944A21-A406-48FE-8225-AEC7E24C211B}, 3 (PID_PROPLIST_TILEINFO) + + + + + Name: System.PropList.XPDetailsPanel -- PKEY_PropList_XPDetailsPanel + Description: The list of properties to display in the XP webview details panel. Obsolete. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_WebView) {F2275480-F782-4291-BD94-F13693513AEC}, 0 (PID_DISPLAY_PROPERTIES) + + + + + RecordedTV Properties + + + + + Name: System.RecordedTV.ChannelNumber -- PKEY_RecordedTV_ChannelNumber + Description: Example: 42 + + Type: UInt32 -- VT_UI4 + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 7 + + + + + Name: System.RecordedTV.Credits -- PKEY_RecordedTV_Credits + Description: Example: "Don Messick/Frank Welker/Casey Kasem/Heather North/Nicole Jaffe;;;" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 4 + + + + + Name: System.RecordedTV.DateContentExpires -- PKEY_RecordedTV_DateContentExpires + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 15 + + + + + Name: System.RecordedTV.EpisodeName -- PKEY_RecordedTV_EpisodeName + Description: Example: "Nowhere to Hyde" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 2 + + + + + Name: System.RecordedTV.IsATSCContent -- PKEY_RecordedTV_IsATSCContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 16 + + + + + Name: System.RecordedTV.IsClosedCaptioningAvailable -- PKEY_RecordedTV_IsClosedCaptioningAvailable + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 12 + + + + + Name: System.RecordedTV.IsDTVContent -- PKEY_RecordedTV_IsDTVContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 17 + + + + + Name: System.RecordedTV.IsHDContent -- PKEY_RecordedTV_IsHDContent + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 18 + + + + + Name: System.RecordedTV.IsRepeatBroadcast -- PKEY_RecordedTV_IsRepeatBroadcast + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 13 + + + + + Name: System.RecordedTV.IsSAP -- PKEY_RecordedTV_IsSAP + Description: + Type: Boolean -- VT_BOOL + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 14 + + + + + Name: System.RecordedTV.NetworkAffiliation -- PKEY_RecordedTV_NetworkAffiliation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {2C53C813-FB63-4E22-A1AB-0B331CA1E273}, 100 + + + + + Name: System.RecordedTV.OriginalBroadcastDate -- PKEY_RecordedTV_OriginalBroadcastDate + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {4684FE97-8765-4842-9C13-F006447B178C}, 100 + + + + + Name: System.RecordedTV.ProgramDescription -- PKEY_RecordedTV_ProgramDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 3 + + + + + Name: System.RecordedTV.RecordingTime -- PKEY_RecordedTV_RecordingTime + Description: + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {A5477F61-7A82-4ECA-9DDE-98B69B2479B3}, 100 + + + + + Name: System.RecordedTV.StationCallSign -- PKEY_RecordedTV_StationCallSign + Description: Example: "TOONP" + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {6D748DE2-8D38-4CC3-AC60-F009B057C557}, 5 + + + + + Name: System.RecordedTV.StationName -- PKEY_RecordedTV_StationName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {1B5439E7-EBA1-4AF8-BDD7-7AF1D4549493}, 100 + + + + + Search Properties + + + + + Name: System.Search.AutoSummary -- PKEY_Search_AutoSummary + Description: General Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 2 + + + + + Name: System.Search.ContainerHash -- PKEY_Search_ContainerHash + Description: Hash code used to identify attachments to be deleted based on a common container url + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {BCEEE283-35DF-4D53-826A-F36A3EEFC6BE}, 100 + + + + + Name: System.Search.Contents -- PKEY_Search_Contents + Description: The contents of the item. This property is for query restrictions only; it cannot be retrieved in a + query result. The Indexing Service friendly name is 'contents'. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Storage) {B725F130-47EF-101A-A5F1-02608C9EEBAC}, 19 (PID_STG_CONTENTS) + + + + + Name: System.Search.EntryID -- PKEY_Search_EntryID + Description: The entry ID for an item within a given catalog in the Windows Search Index. + This value may be recycled, and therefore is not considered unique over time. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 5 (PROPID_QUERY_WORKID) + + + + + Name: System.Search.ExtendedProperties -- PKEY_Search_ExtendedProperties + Description: + Type: Blob -- VT_BLOB + FormatID: {7B03B546-FA4F-4A52-A2FE-03D5311E5865}, 100 + + + + + Name: System.Search.GatherTime -- PKEY_Search_GatherTime + Description: The Datetime that the Windows Search Gatherer process last pushed properties of this document to the Windows Search Gatherer Plugins. + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {0B63E350-9CCC-11D0-BCDB-00805FCCCE04}, 8 + + + + + Name: System.Search.HitCount -- PKEY_Search_HitCount + Description: When using CONTAINS over the Windows Search Index, this is the number of matches of the term. + If there are multiple CONTAINS, an AND computes the min number of hits and an OR the max number of hits. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 4 (PROPID_QUERY_HITCOUNT) + + + + + Name: System.Search.IsClosedDirectory -- PKEY_Search_IsClosedDirectory + Description: If this property is emitted with a value of TRUE, then it indicates that this URL's last modified time applies to all of it's children, and if this URL is deleted then all of it's children are deleted as well. For example, this would be emitted as TRUE when emitting the URL of an email so that all attachments are tied to the last modified time of that email. + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 23 + + + + + Name: System.Search.IsFullyContained -- PKEY_Search_IsFullyContained + Description: Any child URL of a URL which has System.Search.IsClosedDirectory=TRUE must emit System.Search.IsFullyContained=TRUE. This ensures that the URL is not deleted at the end of a crawl because it hasn't been visited (which is the normal mechanism for detecting deletes). For example an email attachment would emit this property + + Type: Boolean -- VT_BOOL + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 24 + + + + + Name: System.Search.QueryFocusedSummary -- PKEY_Search_QueryFocusedSummary + Description: Query Focused Summary of the document. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 3 + + + + + Name: System.Search.QueryFocusedSummaryWithFallback -- PKEY_Search_QueryFocusedSummaryWithFallback + Description: Query Focused Summary of the document, if none is available it returns the AutoSummary. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {560C36C0-503A-11CF-BAA1-00004C752A9A}, 4 + + + + + Name: System.Search.Rank -- PKEY_Search_Rank + Description: Relevance rank of row. Ranges from 0-1000. Larger numbers = better matches. Query-time only. + + Type: Int32 -- VT_I4 + FormatID: (FMTID_Query) {49691C90-7E17-101A-A91C-08002B2ECDA9}, 3 (PROPID_QUERY_RANK) + + + + + Name: System.Search.Store -- PKEY_Search_Store + Description: The identifier for the protocol handler that produced this item. (E.g. MAPI, CSC, FILE etc.) + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {A06992B3-8CAF-4ED7-A547-B259E32AC9FC}, 100 + + + + + Name: System.Search.UrlToIndex -- PKEY_Search_UrlToIndex + Description: This property should be emitted by a container IFilter for each child URL within the container. The children will eventually be crawled by the indexer if they are within scope. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 2 + + + + + Name: System.Search.UrlToIndexWithModificationTime -- PKEY_Search_UrlToIndexWithModificationTime + Description: This property is the same as System.Search.UrlToIndex except that it includes the time the URL was last modified. This is an optimization for the indexer as it doesn't have to call back into the protocol handler to ask for this information to determine if the content needs to be indexed again. The property is a vector with two elements, a VT_LPWSTR with the URL and a VT_FILETIME for the last modified time. + + Type: Multivalue Any -- VT_VECTOR | VT_NULL (For variants: VT_ARRAY | VT_NULL) + FormatID: {0B63E343-9CCC-11D0-BCDB-00805FCCCE04}, 12 + + + + + Shell Properties + + + + + Name: System.Shell.OmitFromView -- PKEY_Shell_OmitFromView + Description: Set this to a string value of 'True' to omit this item from shell views + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {DE35258C-C695-4CBC-B982-38B0AD24CED0}, 2 + + + + + Name: System.Shell.SFGAOFlagsStrings -- PKEY_Shell_SFGAOFlagsStrings + Description: Expresses the SFGAO flags as string values and is used as a query optimization. + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: {D6942081-D53B-443D-AD47-5E059D9CD27A}, 2 + + + + + Software Properties + + + + + Name: System.Software.DateLastUsed -- PKEY_Software_DateLastUsed + Description: + + Type: DateTime -- VT_FILETIME (For variants: VT_DATE) + FormatID: {841E4F90-FF59-4D16-8947-E81BBFFAB36D}, 16 + + + + + Name: System.Software.ProductName -- PKEY_Software_ProductName + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (PSFMTID_VERSION) {0CEF7D53-FA64-11D1-A203-0000F81FEDEE}, 7 + + + + + Sync Properties + + + + + Name: System.Sync.Comments -- PKEY_Sync_Comments + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 13 + + + + + Name: System.Sync.ConflictDescription -- PKEY_Sync_ConflictDescription + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 4 + + + + + Name: System.Sync.ConflictFirstLocation -- PKEY_Sync_ConflictFirstLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 6 + + + + + Name: System.Sync.ConflictSecondLocation -- PKEY_Sync_ConflictSecondLocation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 7 + + + + + Name: System.Sync.HandlerCollectionID -- PKEY_Sync_HandlerCollectionID + Description: + Type: Guid -- VT_CLSID + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 2 + + + + + Name: System.Sync.HandlerID -- PKEY_Sync_HandlerID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 3 + + + + + Name: System.Sync.HandlerName -- PKEY_Sync_HandlerName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 2 + + + + + Name: System.Sync.HandlerType -- PKEY_Sync_HandlerType + Description: + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 8 + + + + + Name: System.Sync.HandlerTypeLabel -- PKEY_Sync_HandlerTypeLabel + Description: + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 9 + + + + + Name: System.Sync.ItemID -- PKEY_Sync_ItemID + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 6 + + + + + Name: System.Sync.ItemName -- PKEY_Sync_ItemName + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {CE50C159-2FB8-41FD-BE68-D3E042E274BC}, 3 + + + + + Name: System.Sync.ProgressPercentage -- PKEY_Sync_ProgressPercentage + Description: An integer value between 0 and 100 representing the percentage completed. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 23 + + + + + Name: System.Sync.State -- PKEY_Sync_State + Description: Sync state. + + Type: UInt32 -- VT_UI4 + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 24 + + + + + Name: System.Sync.Status -- PKEY_Sync_Status + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {7BD5533E-AF15-44DB-B8C8-BD6624E1D032}, 10 + + + + + Task Properties + + + + + Name: System.Task.BillingInformation -- PKEY_Task_BillingInformation + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {D37D52C6-261C-4303-82B3-08B926AC6F12}, 100 + + + + + Name: System.Task.CompletionStatus -- PKEY_Task_CompletionStatus + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {084D8A0A-E6D5-40DE-BF1F-C8820E7C877C}, 100 + + + + + Name: System.Task.Owner -- PKEY_Task_Owner + Description: + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: {08C7CC5F-60F2-4494-AD75-55E3E0B5ADD0}, 100 + + + + + Video Properties + + + + + Name: System.Video.Compression -- PKEY_Video_Compression + Description: Indicates the level of compression for the video stream. "Compression". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 10 (PIDVSI_COMPRESSION) + + + + + Name: System.Video.Director -- PKEY_Video_Director + Description: + + Type: Multivalue String -- VT_VECTOR | VT_LPWSTR (For variants: VT_ARRAY | VT_BSTR) + FormatID: (PSGUID_MEDIAFILESUMMARYINFORMATION) {64440492-4C8B-11D1-8B70-080036B11A03}, 20 (PIDMSI_DIRECTOR) + + + + + Name: System.Video.EncodingBitrate -- PKEY_Video_EncodingBitrate + Description: Indicates the data rate in "bits per second" for the video stream. "DataRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 8 (PIDVSI_DATA_RATE) + + + + + Name: System.Video.FourCC -- PKEY_Video_FourCC + Description: Indicates the 4CC for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 44 + + + + + Name: System.Video.FrameHeight -- PKEY_Video_FrameHeight + Description: Indicates the frame height for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 4 + + + + + Name: System.Video.FrameRate -- PKEY_Video_FrameRate + Description: Indicates the frame rate in "frames per millisecond" for the video stream. "FrameRate". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 6 (PIDVSI_FRAME_RATE) + + + + + Name: System.Video.FrameWidth -- PKEY_Video_FrameWidth + Description: Indicates the frame width for the video stream. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 3 + + + + + Name: System.Video.HorizontalAspectRatio -- PKEY_Video_HorizontalAspectRatio + Description: Indicates the horizontal portion of the aspect ratio. The X portion of XX:YY, + like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 42 + + + + + Name: System.Video.SampleSize -- PKEY_Video_SampleSize + Description: Indicates the sample size in bits for the video stream. "SampleSize". + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 9 (PIDVSI_SAMPLE_SIZE) + + + + + Name: System.Video.StreamName -- PKEY_Video_StreamName + Description: Indicates the name for the video stream. "StreamName". + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 2 (PIDVSI_STREAM_NAME) + + + + + Name: System.Video.StreamNumber -- PKEY_Video_StreamNumber + Description: "Stream Number". + + Type: UInt16 -- VT_UI2 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 11 (PIDVSI_STREAM_NUMBER) + + + + + Name: System.Video.TotalBitrate -- PKEY_Video_TotalBitrate + Description: Indicates the total data rate in "bits per second" for all video and audio streams. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 43 (PIDVSI_TOTAL_BITRATE) + + + + + Name: System.Video.TranscodedForSync -- PKEY_Video_TranscodedForSync + Description: + Type: Boolean -- VT_BOOL + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 46 + + + + + Name: System.Video.VerticalAspectRatio -- PKEY_Video_VerticalAspectRatio + Description: Indicates the vertical portion of the aspect ratio. The Y portion of + XX:YY, like 16:9. + + Type: UInt32 -- VT_UI4 + FormatID: (FMTID_VideoSummaryInformation) {64440491-4C8B-11D1-8B70-080036B11A03}, 45 + + + + + Volume Properties + + + + + Name: System.Volume.FileSystem -- PKEY_Volume_FileSystem + Description: Indicates the filesystem of the volume. + + Type: String -- VT_LPWSTR (For variants: VT_BSTR) + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 4 (PID_VOLUME_FILESYSTEM) (Filesystem Volume Properties) + + + + + Name: System.Volume.IsMappedDrive -- PKEY_Volume_IsMappedDrive + Description: + Type: Boolean -- VT_BOOL + FormatID: {149C0B69-2C2D-48FC-808F-D318D78C4636}, 2 + + + + + Name: System.Volume.IsRoot -- PKEY_Volume_IsRoot + Description: + + Type: Boolean -- VT_BOOL + FormatID: (FMTID_Volume) {9B174B35-40FF-11D2-A27E-00C04FC30871}, 10 (Filesystem Volume Properties) + + + + + Helper class to modify properties for a given window + + + + + Sets a shell property for a given window + + The property to set + Handle to the window that the property will be set on + The value to set for the property + + + + Sets a shell property for a given window + + The property to set + Window that the property will be set on + The value to set for the property + + + + Defines the properties used by a Shell Property. + + + + + Gets the property key that identifies this property. + + + + + Gets a formatted, Unicode string representation of a property value. + + One or more PropertyDescriptionFormat flags + chosen to produce the desired display format. + The formatted value as a string. + + + + Get the property description object. + + + + + Gets the case-sensitive name of the property as it is known to the system, + regardless of its localized name. + + + + + Gets the value for this property using the generic Object type. + + + To obtain a specific type for this value, use the more strongly-typed + Property<T> class. + You can only set a value for this type using the Property<T> + class. + + + + + Gets the System.Type value for this property. + + + + + Gets the image reference path and icon index associated with a property value. + This API is only available in Windows 7. + + + + + Creates a readonly collection of IProperty objects. + + + + + Creates a new Property collection given an IPropertyStore object + + IPropertyStore + + + + Creates a new Property collection given an IShellItem2 native interface + + Parent ShellObject + + + + Creates a new ShellPropertyCollection object with the specified file or folder path. + + The path to the file or folder. + + + + Checks if a property with the given canonical name is available. + + The canonical name of the property. + True if available, false otherwise. + + + + Checks if a property with the given property key is available. + + The property key. + True if available, false otherwise. + + + + Gets the property associated with the supplied canonical name string. + The canonical name property is case-sensitive. + + + The canonical name. + The property associated with the canonical name, if found. + Throws IndexOutOfRangeException + if no matching property is found. + + + + Gets a property associated with the supplied property key. + + + The property key. + The property associated with the property key, if found. + Throws IndexOutOfRangeException + if no matching property is found. + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Defines the shell property description information for a property. + + + + + Gets the case-sensitive name of a property as it is known to the system, + regardless of its localized name. + + + + + Gets the property key identifying the underlying property. + + + + + Gets the display name of the property as it is shown in any user interface (UI). + + + + + Gets the text used in edit controls hosted in various dialog boxes. + + + + + Gets the VarEnum OLE type for this property. + + + + + Gets the .NET system type for a value of this property, or + null if the value is empty. + + + + + Gets the current data type used to display the property. + + + + + Gets the default user interface (UI) column width for this property. + + + + + Gets a value that describes how the property values are displayed when + multiple items are selected in the user interface (UI). + + + + + Gets a list of the possible values for this property. + + + + + Gets the column state flag, which describes how the property + should be treated by interfaces or APIs that use this flag. + + + + + Gets the condition type to use when displaying the property in + the query builder user interface (UI). This influences the list + of predicate conditions (for example, equals, less than, and + contains) that are shown for this property. + + For more information, see the conditionType attribute + of the typeInfo element in the property's .propdesc file. + + + + Gets the default condition operation to use + when displaying the property in the query builder user + interface (UI). This influences the list of predicate conditions + (for example, equals, less than, and contains) that are shown + for this property. + + For more information, see the conditionType attribute of the + typeInfo element in the property's .propdesc file. + + + + Gets the method used when a view is grouped by this property. + + The information retrieved by this method comes from + the groupingRange attribute of the typeInfo element in the + property's .propdesc file. + + + + Gets the current sort description flags for the property, + which indicate the particular wordings of sort offerings. + + The settings retrieved by this method are set + through the sortDescription attribute of the labelInfo + element in the property's .propdesc file. + + + + Gets the localized display string that describes the current sort order. + + Indicates the sort order should + reference the string "Z on top"; otherwise, the sort order should reference the string "A on top". + The sort description for this property. + The string retrieved by this method is determined by flags set in the + sortDescription attribute of the labelInfo element in the property's .propdesc file. + + + + Gets a set of flags that describe the uses and capabilities of the property. + + + + + Gets the current set of flags governing the property's view. + + + + + Gets a value that determines if the native property description is present on the system. + + + + + Get the native property description COM interface + + + + + Release the native objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects + + + + + Release the native objects + + + + + Defines a strongly-typed property object. + All writable property objects must be of this type + to be able to call the value setter. + + The type of this property's value. + Because a property value can be empty, only nullable types + are allowed. + + + + Constructs a new Property object + + + + + + + + Constructs a new Property object + + + + + + + + Gets or sets the strongly-typed value of this property. + The value of the property is cleared if the value is set to null. + + + If the property value cannot be retrieved or updated in the Property System + If the type of this property is not supported; e.g. writing a binary object. + Thrown if is false, and either + a string value was truncated or a numeric value was rounded. + + + + Gets the property key identifying this property. + + + + + Returns a formatted, Unicode string representation of a property value. + + One or more of the PropertyDescriptionFormat flags + that indicate the desired format. + The formatted value as a string, or null if this property + cannot be formatted for display. + True if the method successfully locates the formatted string; otherwise + False. + + + + Returns a formatted, Unicode string representation of a property value. + + One or more of the PropertyDescriptionFormat flags + that indicate the desired format. + The formatted value as a string, or null if this property + cannot be formatted for display. + + + + Get the property description object. + + + + + Gets the case-sensitive name of a property as it is known to the system, + regardless of its localized name. + + + + + Clears the value of the property. + + + + + Gets the value for this property using the generic Object type. + To obtain a specific type for this value, use the more type strong + Property<T> class. + Also, you can only set a value for this type using Property<T> + + + + + Gets the associated runtime type. + + + + + Gets the image reference path and icon index associated with a property value (Windows 7 only). + + + + + Gets or sets a value that determines if a value can be truncated. The default for this property is false. + + + An will be thrown if + this property is not set to true, and a property value was set + but later truncated. + + + + + + Specifies options for the appearance of the + stock icon. + + + + + Retrieve the small version of the icon, as specified by + SM_CXICON and SM_CYICON system metrics. + + + + + Retrieve the small version of the icon, as specified by + SM_CXSMICON and SM_CYSMICON system metrics. + + + + + Retrieve the shell-sized icons (instead of the + size specified by the system metrics). + + + + + Specified that the hIcon member of the SHSTOCKICONINFO + structure receives a handle to the specified icon. + + + + + Specifies that the iSysImageImage member of the SHSTOCKICONINFO + structure receives the index of the specified + icon in the system imagelist. + + + + + Adds the link overlay to the icon. + + + + + Adds the system highlight color to the icon. + + + + + The window has a thin-line border. + + + + + The window has a title bar (includes the WS_BORDER style). + + + + + The window is a child window. + A window with this style cannot have a menu bar. + This style cannot be used with the WS_POPUP style. + + + + + Same as the WS_CHILD style. + + + + + Excludes the area occupied by child windows when drawing occurs within the parent window. + This style is used when creating the parent window. + + + + + Clips child windows relative to each other; + that is, when a particular child window receives a WM_PAINT message, + the WS_CLIPSIBLINGS style clips all other overlapping child windows out of the region of the child window to be updated. + If WS_CLIPSIBLINGS is not specified and child windows overlap, it is possible, + when drawing within the client area of a child window, to draw within the client area of a neighboring child window. + + + + + The window is initially disabled. A disabled window cannot receive input from the user. + To change this after a window has been created, use the EnableWindow function. + + + + + The window has a border of a style typically used with dialog boxes. + A window with this style cannot have a title bar. + + + + + The window is the first control of a group of controls. + The group consists of this first control and all controls defined after it, up to the next control with the WS_GROUP style. + The first control in each group usually has the WS_TABSTOP style so that the user can move from group to group. + The user can subsequently change the keyboard focus from one control in the group to the next control + in the group by using the direction keys. + + You can turn this style on and off to change dialog box navigation. + To change this style after a window has been created, use the SetWindowLong function. + + + + + The window has a horizontal scroll bar. + + + + + The window is initially minimized. + Same as the WS_MINIMIZE style. + + + + + The window is initially maximized. + + + + + The window has a maximize button. + Cannot be combined with the WS_EX_CONTEXTHELP style. + The WS_SYSMENU style must also be specifie + + + + + The window is initially minimized. + Same as the WS_ICONIC style. + + + + + The window has a minimize button. + Cannot be combined with the WS_EX_CONTEXTHELP style. + The WS_SYSMENU style must also be specified. + + + + + The window is an overlapped window. + An overlapped window has a title bar and a border. + Same as the WS_TILED style. + + + + + The windows is a pop-up window. + This style cannot be used with the WS_CHILD style. + + + + + The window has a sizing border. + Same as the WS_THICKFRAME style. + + + + + The window has a window menu on its title bar. + The WS_CAPTION style must also be specified. + + + + + The window is a control that can receive the keyboard focus when the user presses the TAB key. + Pressing the TAB key changes the keyboard focus to the next control with the WS_TABSTOP style. + + You can turn this style on and off to change dialog box navigation. + To change this style after a window has been created, use the SetWindowLong function. + For user-created windows and modeless dialogs to work with tab stops, + alter the message loop to call the IsDialogMessage function. + + + + + The window has a sizing border. + Same as the WS_SIZEBOX style. + + + + + The window is an overlapped window. + An overlapped window has a title bar and a border. + Same as the WS_OVERLAPPED style. + + + + + The window is initially visible. + + This style can be turned on and off by using the ShowWindow or SetWindowPos function. + + + + + The window has a vertical scroll bar. + + + + + The window is an overlapped window. + Same as the WS_OVERLAPPEDWINDOW style. + + + + + The window is a pop-up window. + The WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window menu visible. + + + + + The window is an overlapped window. Same as the WS_TILEDWINDOW style. + + + + + Represents a registered or known folder in the system. + + + + + Gets the path for this known folder. + + + + + Gets the category designation for this known folder. + + + + + Gets this known folder's canonical name. + + + + + Gets this known folder's description. + + + + + Gets the unique identifier for this known folder's parent folder. + + + + + Gets this known folder's relative path. + + + + + Gets this known folder's parsing name. + + + + + Gets this known folder's tool tip text. + + + + + Gets the resource identifier for this + known folder's tool tip text. + + + + + Gets this known folder's localized name. + + + + + Gets the resource identifier for this + known folder's localized name. + + + + + Gets this known folder's security attributes. + + + + + Gets this known folder's file attributes, + such as "read-only". + + + + + Gets an value that describes this known folder's behaviors. + + + + + Gets the unique identifier for this known folder's type. + + + + + Gets a string representation of this known folder's type. + + + + + Gets the unique identifier for this known folder. + + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + + + + Specifies behaviors for known folders. + + + + + No behaviors are defined. + + + + + Prevents a per-user known folder from being + redirected to a network location. + + + + + The known folder can be roamed through PC-to-PC synchronization. + + + + + Creates the known folder when the user first logs on. + + + + + Specifies the categories for known folders. + + + + + The folder category is not specified. + + + + + The folder is a virtual folder. Virtual folders are not part + of the file system. For example, Control Panel and + Printers are virtual folders. A number of properties + such as folder path and redirection do not apply to this category. + + + + + The folder is fixed. Fixed file system folders are not + managed by the Shell and are usually given a permanent + path when the system is installed. For example, the + Windows and Program Files folders are fixed folders. + A number of properties such as redirection do not apply + to this category. + + + + + The folder is a common folder. Common folders are + used for sharing data and settings + accessible by all users of a system. For example, + all users share a common Documents folder as well + as their per-user Documents folder. + + + + + Each user has their own copy of the folder. Per-user folders + are those stored under each user's profile and + accessible only by that user. + + + + + Structure used internally to store property values for + a known folder. This structure holds the information + returned in the FOLDER_DEFINITION structure, and + resources referenced by fields in NativeFolderDefinition, + such as icon and tool tip. + + + + + Contains the GUID identifiers for well-known folders. + + + + + Returns the friendly name for a specified folder. + + The Guid identifier for a known folder. + A value. + + + + Returns a sorted list of name, guid pairs for + all known folders. + + + + + + Computer + + + + + Conflicts + + + + + Control Panel + + + + + Desktop + + + + + Internet Explorer + + + + + Network + + + + + Printers + + + + + Sync Center + + + + + Network Connections + + + + + Sync Setup + + + + + Sync Results + + + + + Recycle Bin + + + + + Fonts + + + + + Startup + + + + + Programs + + + + + Start Menu + + + + + Recent Items + + + + + SendTo + + + + + Documents + + + + + Favorites + + + + + Network Shortcuts + + + + + Printer Shortcuts + + + + + Templates + + + + + Startup + + + + + Programs + + + + + Start Menu + + + + + Public Desktop + + + + + ProgramData + + + + + Templates + + + + + Public Documents + + + + + Roaming + + + + + Local + + + + + LocalLow + + + + + Temporary Internet Files + + + + + Cookies + + + + + History + + + + + System32 + + + + + System32 + + + + + Windows + + + + + The user's username (%USERNAME%) + + + + + Pictures + + + + + Program Files + + + + + Common Files + + + + + Program Files + + + + + Common Files + + + + + Program Files + + + + + Common Files + + + + + Administrative Tools + + + + + Administrative Tools + + + + + Music + + + + + Videos + + + + + Public Pictures + + + + + Public Music + + + + + Public Videos + + + + + Resources + + + + + None + + + + + OEM Links + + + + + Temporary Burn Folder + + + + + Users + + + + + Playlists + + + + + Sample Playlists + + + + + Sample Music + + + + + Sample Pictures + + + + + Sample Videos + + + + + Slide Shows + + + + + Public + + + + + Programs and Features + + + + + Installed Updates + + + + + Get Programs + + + + + Downloads + + + + + Public Downloads + + + + + Searches + + + + + Quick Launch + + + + + Contacts + + + + + Gadgets + + + + + Gadgets + + + + + Tree property value folder + + + + + GameExplorer + + + + + GameExplorer + + + + + Saved Games + + + + + Games + + + + + Recorded TV + + + + + Microsoft Office Outlook + + + + + Offline Files + + + + + Links + + + + + The user's full name (for instance, Jean Philippe Bagel) entered when the user account was created. + + + + + Search home + + + + + Original Images + + + + + UserProgramFiles + + + + + UserProgramFilesCommon + + + + + Ringtones + + + + + PublicRingtones + + + + + UsersLibraries + + + + + DocumentsLibrary + + + + + MusicLibrary + + + + + PicturesLibrary + + + + + VideosLibrary + + + + + RecordedTVLibrary + + + + + OtherUsers + + + + + DeviceMetadataStore + + + + + Libraries + + + + + UserPinned + + + + + ImplicitAppShortcuts + + + + + The FolderTypes values represent a view template applied to a folder, + usually based on its intended use and contents. + + + + + No particular content type has been detected or specified. This value is not supported in Windows 7 and later systems. + + + + + The folder is invalid. There are several things that can cause this judgement: hard disk errors, file system errors, and compression errors among them. + + + + + The folder contains document files. These can be of mixed format—.doc, .txt, and others. + + + + + Image files, such as .jpg, .tif, or .png files. + + + + + Windows 7 and later. The folder contains audio files, such as .mp3 and .wma files. + + + + + A list of music files displayed in Icons view. This value is not supported in Windows 7 and later systems. + + + + + The folder is the Games folder found in the Start menu. + + + + + The Control Panel in category view. This is a virtual folder. + + + + + The Control Panel in classic view. This is a virtual folder. + + + + + Printers that have been added to the system. This is a virtual folder. + + + + + The Recycle Bin. This is a virtual folder. + + + + + The software explorer window used by the Add or Remove Programs control panel icon. + + + + + The folder is a compressed archive, such as a compressed file with a .zip file name extension. + + + + + An e-mail-related folder that contains contact information. + + + + + A default library view without a more specific template. This value is not supported in Windows 7 and later systems. + + + + + The Network Explorer folder. + + + + + The folder is the FOLDERID_UsersFiles folder. + + + + + Windows 7 and later. The folder contains search results, but they are of mixed or no specific type. + + + + + Windows 7 and later. The folder is a library, but of no specified type. + + + + + Windows 7 and later. The folder contains video files. These can be of mixed format—.wmv, .mov, and others. + + + + + Windows 7 and later. The view shown when the user clicks the Windows Explorer button on the taskbar. + + + + + Windows 7 and later. The homegroup view. + + + + + Windows 7 and later. A folder that contains communication-related files such as e-mails, calendar information, and contact information. + + + + + Windows 7 and later. The folder contains recorded television broadcasts. + + + + + Windows 7 and later. The folder contains saved game states. + + + + + Windows 7 and later. The folder contains federated search OpenSearch results. + + + + + Windows 7 and later. Before you search. + + + + + Windows 7 and later. A user's Searches folder, normally found at C:\Users\username\Searches. + + + + + Creates the helper class for known folders. + + + + + Returns the native known folder (IKnownFolderNative) given a PID list + + + + + + + Returns a known folder given a globally unique identifier. + + A GUID for the requested known folder. + A known folder representing the specified name. + Thrown if the given Known Folder ID is invalid. + + + + Returns a known folder given a globally unique identifier. + + A GUID for the requested known folder. + A known folder representing the specified name. Returns null if Known Folder is not found or could not be created. + + + + Given a native KnownFolder (IKnownFolderNative), create the right type of + IKnownFolder object (FileSystemKnownFolder or NonFileSystemKnownFolder) + + Native Known Folder + + + + + Returns the known folder given its canonical name. + + A non-localized canonical name for the known folder, such as MyComputer. + A known folder representing the specified name. + Thrown if the given canonical name is invalid or if the KnownFolder could not be created. + + + + Returns a known folder given its shell path, such as C:\users\public\documents or + ::{645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. + + The path for the requested known folder; either a physical path or a virtual path. + A known folder representing the specified name. + + + + Returns a known folder given its shell namespace parsing name, such as + ::{645FF040-5081-101B-9F08-00AA002F954E} for the Recycle Bin. + + The parsing name (or path) for the requested known folder. + A known folder representing the specified name. + Thrown if the given parsing name is invalid. + + + + Defines properties for known folders that identify the path of standard known folders. + + + + + Gets a strongly-typed read-only collection of all the registered known folders. + + + + + Gets the metadata for the Computer folder. + + An object. + + + + Gets the metadata for the Conflict folder. + + An object. + + + + Gets the metadata for the ControlPanel folder. + + An object. + + + + Gets the metadata for the Desktop folder. + + An object. + + + + Gets the metadata for the Internet folder. + + An object. + + + + Gets the metadata for the Network folder. + + An object. + + + + Gets the metadata for the Printers folder. + + An object. + + + + Gets the metadata for the SyncManager folder. + + An object. + + + + Gets the metadata for the Connections folder. + + An object. + + + + Gets the metadata for the SyncSetup folder. + + An object. + + + + Gets the metadata for the SyncResults folder. + + An object. + + + + Gets the metadata for the RecycleBin folder. + + An object. + + + + Gets the metadata for the Fonts folder. + + An object. + + + + Gets the metadata for the Startup folder. + + An object. + + + + Gets the metadata for the Programs folder. + + An object. + + + + Gets the metadata for the per-user StartMenu folder. + + An object. + + + + Gets the metadata for the per-user Recent folder. + + An object. + + + + Gets the metadata for the per-user SendTo folder. + + An object. + + + + Gets the metadata for the per-user Documents folder. + + An object. + + + + Gets the metadata for the per-user Favorites folder. + + An object. + + + + Gets the metadata for the NetHood folder. + + An object. + + + + Gets the metadata for the PrintHood folder. + + An object. + + + + Gets the metadata for the Templates folder. + + An object. + + + + Gets the metadata for the CommonStartup folder. + + An object. + + + + Gets the metadata for the CommonPrograms folder. + + An object. + + + + Gets the metadata for the CommonStartMenu folder. + + An object. + + + + Gets the metadata for the PublicDesktop folder. + + An object. + + + + Gets the metadata for the ProgramData folder. + + An object. + + + + Gets the metadata for the CommonTemplates folder. + + An object. + + + + Gets the metadata for the PublicDocuments folder. + + An object. + + + + Gets the metadata for the RoamingAppData folder. + + An object. + + + + Gets the metadata for the per-user LocalAppData + folder. + + An object. + + + + Gets the metadata for the LocalAppDataLow folder. + + An object. + + + + Gets the metadata for the InternetCache folder. + + An object. + + + + Gets the metadata for the Cookies folder. + + An object. + + + + Gets the metadata for the History folder. + + An object. + + + + Gets the metadata for the System folder. + + An object. + + + + Gets the metadata for the SystemX86 + folder. + + An object. + + + + Gets the metadata for the Windows folder. + + An object. + + + + Gets the metadata for the Profile folder. + + An object. + + + + Gets the metadata for the per-user Pictures folder. + + An object. + + + + Gets the metadata for the ProgramFilesX86 folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommonX86 folder. + + An object. + + + + Gets the metadata for the ProgramsFilesX64 folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommonX64 folder. + + An object. + + + + Gets the metadata for the ProgramFiles folder. + + An object. + + + + Gets the metadata for the ProgramFilesCommon folder. + + An object. + + + + Gets the metadata for the AdminTools folder. + + An object. + + + + Gets the metadata for the CommonAdminTools folder. + + An object. + + + + Gets the metadata for the per-user Music folder. + + An object. + + + + Gets the metadata for the Videos folder. + + An object. + + + + Gets the metadata for the PublicPictures folder. + + An object. + + + + Gets the metadata for the PublicMusic folder. + + An object. + + + + Gets the metadata for the PublicVideos folder. + + An object. + + + + Gets the metadata for the ResourceDir folder. + + An object. + + + + Gets the metadata for the LocalizedResourcesDir folder. + + An object. + + + + Gets the metadata for the CommonOEMLinks folder. + + An object. + + + + Gets the metadata for the CDBurning folder. + + An object. + + + + Gets the metadata for the UserProfiles folder. + + An object. + + + + Gets the metadata for the Playlists folder. + + An object. + + + + Gets the metadata for the SamplePlaylists folder. + + An object. + + + + Gets the metadata for the SampleMusic folder. + + An object. + + + + Gets the metadata for the SamplePictures folder. + + An object. + + + + Gets the metadata for the SampleVideos folder. + + An object. + + + + Gets the metadata for the PhotoAlbums folder. + + An object. + + + + Gets the metadata for the Public folder. + + An object. + + + + Gets the metadata for the ChangeRemovePrograms folder. + + An object. + + + + Gets the metadata for the AppUpdates folder. + + An object. + + + + Gets the metadata for the AddNewPrograms folder. + + An object. + + + + Gets the metadata for the per-user Downloads folder. + + An object. + + + + Gets the metadata for the PublicDownloads folder. + + An object. + + + + Gets the metadata for the per-user SavedSearches folder. + + An object. + + + + Gets the metadata for the per-user QuickLaunch folder. + + An object. + + + + Gets the metadata for the Contacts folder. + + An object. + + + + Gets the metadata for the SidebarParts folder. + + An object. + + + + Gets the metadata for the SidebarDefaultParts folder. + + An object. + + + + Gets the metadata for the TreeProperties folder. + + An object. + + + + Gets the metadata for the PublicGameTasks folder. + + An object. + + + + Gets the metadata for the GameTasks folder. + + An object. + + + + Gets the metadata for the per-user SavedGames folder. + + An object. + + + + Gets the metadata for the Games folder. + + An object. + + + + Gets the metadata for the RecordedTV folder. + + An object. + This folder is not used. + + + + Gets the metadata for the SearchMapi folder. + + An object. + + + + Gets the metadata for the SearchCsc folder. + + An object. + + + + Gets the metadata for the per-user Links folder. + + An object. + + + + Gets the metadata for the UsersFiles folder. + + An object. + + + + Gets the metadata for the SearchHome folder. + + An object. + + + + Gets the metadata for the OriginalImages folder. + + An object. + + + + Gets the metadata for the UserProgramFiles folder. + + + + + Gets the metadata for the UserProgramFilesCommon folder. + + + + + Gets the metadata for the Ringtones folder. + + + + + Gets the metadata for the PublicRingtones folder. + + + + + Gets the metadata for the UsersLibraries folder. + + + + + Gets the metadata for the DocumentsLibrary folder. + + + + + Gets the metadata for the MusicLibrary folder. + + + + + Gets the metadata for the PicturesLibrary folder. + + + + + Gets the metadata for the VideosLibrary folder. + + + + + Gets the metadata for the RecordedTVLibrary folder. + + + + + Gets the metadata for the OtherUsers folder. + + + + + Gets the metadata for the DeviceMetadataStore folder. + + + + + Gets the metadata for the Libraries folder. + + + + + Gets the metadata for the UserPinned folder. + + + + + Gets the metadata for the ImplicitAppShortcuts folder. + + + + + Internal class to represent the KnownFolder settings/properties + + + + + Populates a structure that contains + this known folder's properties. + + + + + Gets the path of this this known folder. + + + Returns false if the folder is virtual, or a boolean + value that indicates whether this known folder exists. + + Native IKnownFolder reference + + A containing the path, or if this known folder does not exist. + + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Specifies the redirection capabilities for known folders. + + + + + Redirection capability is unknown. + + + + + The known folder can be redirected. + + + + + The known folder can be redirected. + Currently, redirection exists only for + common and user folders; fixed and virtual folders + cannot be redirected. + + + + + Redirection is not allowed. + + + + + The folder cannot be redirected because it is + already redirected by group policy. + + + + + The folder cannot be redirected because the policy + prohibits redirecting this folder. + + + + + The folder cannot be redirected because the calling + application does not have sufficient permissions. + + + + + Contains special retrieval options for known folders. + + + + + A Serch Connector folder in the Shell Namespace + + + + + Indicates whether this feature is supported on the current platform. + + + + + CommonFileDialog AddPlace locations + + + + + At the bottom of the Favorites or Places list. + + + + + At the top of the Favorites or Places list. + + + + + One of the values that indicates how the ShellObject DisplayName should look. + + + + + Returns the display name relative to the desktop. + + + + + Returns the parsing name relative to the parent folder. + + + + + Returns the path relative to the parent folder in a + friendly format as displayed in an address bar. + + + + + Returns the parsing name relative to the desktop. + + + + + Returns the editing name relative to the parent folder. + + + + + Returns the editing name relative to the desktop. + + + + + Returns the display name relative to the file system path. + + + + + Returns the display name relative to a URL. + + + + + Available Library folder types + + + + + General Items + + + + + Documents + + + + + Music + + + + + Pictures + + + + + Videos + + + + + Flags controlling the appearance of a window + + + + + Hides the window and activates another window. + + + + + Activates and displays the window (including restoring + it to its original size and position). + + + + + Minimizes the window. + + + + + Maximizes the window. + + + + + Similar to , except that the window + is not activated. + + + + + Activates the window and displays it in its current size + and position. + + + + + Minimizes the window and activates the next top-level window. + + + + + Minimizes the window and does not activate it. + + + + + Similar to , except that the window is not + activated. + + + + + Activates and displays the window, restoring it to its original + size and position. + + + + + Sets the show state based on the initial value specified when + the process was created. + + + + + Minimizes a window, even if the thread owning the window is not + responding. Use this only to minimize windows from a different + thread. + + + + + Provides a set of flags to be used with + to indicate the operation in methods. + + + + + An implicit comparison between the value of the property and the value of the constant. + + + + + The value of the property and the value of the constant must be equal. + + + + + The value of the property and the value of the constant must not be equal. + + + + + The value of the property must be less than the value of the constant. + + + + + The value of the property must be greater than the value of the constant. + + + + + The value of the property must be less than or equal to the value of the constant. + + + + + The value of the property must be greater than or equal to the value of the constant. + + + + + The value of the property must begin with the value of the constant. + + + + + The value of the property must end with the value of the constant. + + + + + The value of the property must contain the value of the constant. + + + + + The value of the property must not contain the value of the constant. + + + + + The value of the property must match the value of the constant, where '?' + matches any single character and '*' matches any sequence of characters. + + + + + The value of the property must contain a word that is the value of the constant. + + + + + The value of the property must contain a word that begins with the value of the constant. + + + + + The application is free to interpret this in any suitable way. + + + + + Set of flags to be used with . + + + + + Indicates that the values of the subterms are combined by "AND". + + + + + Indicates that the values of the subterms are combined by "OR". + + + + + Indicates a "NOT" comparison of subterms. + + + + + Indicates that the node is a comparison between a property and a + constant value using a . + + + + + Used to describe the view mode. + + + + + The view is not specified. + + + + + This should have the same affect as Unspecified. + + + + + The minimum valid enumeration value. Used for validation purposes only. + + + + + Details view. + + + + + Tiles view. + + + + + Icons view. + + + + + Windows 7 and later. List view. + + + + + Windows 7 and later. Content view. + + + + + The maximum valid enumeration value. Used for validation purposes only. + + + + + The direction in which the items are sorted. + + + + + A default value for sort direction, this value should not be used; + instead use Descending or Ascending. + + + + + The items are sorted in descending order. Whether the sort is alphabetical, numerical, + and so on, is determined by the data type of the column indicated in propkey. + + + + + The items are sorted in ascending order. Whether the sort is alphabetical, numerical, + and so on, is determined by the data type of the column indicated in propkey. + + + + + Provides a set of flags to be used with IQueryParser::SetOption and + IQueryParser::GetOption to indicate individual options. + + + + + The value should be VT_LPWSTR and the path to a file containing a schema binary. + + + + + The value must be VT_EMPTY (the default) or a VT_UI4 that is an LCID. It is used + as the locale of contents (not keywords) in the query to be searched for, when no + other information is available. The default value is the current keyboard locale. + Retrieving the value always returns a VT_UI4. + + + + + This option is used to override the default word breaker used when identifying keywords + in queries. The default word breaker is chosen according to the language of the keywords + (cf. SQSO_LANGUAGE_KEYWORDS below). When setting this option, the value should be VT_EMPTY + for using the default word breaker, or a VT_UNKNOWN with an object supporting + the IWordBreaker interface. Retrieving the option always returns a VT_UNKNOWN with an object + supporting the IWordBreaker interface. + + + + + The value should be VT_EMPTY or VT_BOOL with VARIANT_TRUE to allow natural query + syntax (the default) or VT_BOOL with VARIANT_FALSE to allow only advanced query syntax. + Retrieving the option always returns a VT_BOOL. + This option is now deprecated, use SQSO_SYNTAX. + + + + + The value should be VT_BOOL with VARIANT_TRUE to generate query expressions + as if each word in the query had a star appended to it (unless followed by punctuation + other than a parenthesis), or VT_EMPTY or VT_BOOL with VARIANT_FALSE to + use the words as they are (the default). A word-wheeling application + will generally want to set this option to true. + Retrieving the option always returns a VT_BOOL. + + + + + Reserved. The value should be VT_EMPTY (the default) or VT_I4. + Retrieving the option always returns a VT_I4. + + + + + The value must be a VT_UI4 that is a LANGID. It defaults to the default user UI language. + + + + + The value must be a VT_UI4 that is a STRUCTURED_QUERY_SYNTAX value. + It defaults to SQS_NATURAL_QUERY_SYNTAX. + + + + + The value must be a VT_BLOB that is a copy of a TIME_ZONE_INFORMATION structure. + It defaults to the current time zone. + + + + + This setting decides what connector should be assumed between conditions when none is specified. + The value must be a VT_UI4 that is a CONDITION_TYPE. Only CT_AND_CONDITION and CT_OR_CONDITION + are valid. It defaults to CT_AND_CONDITION. + + + + + This setting decides whether there are special requirements on the case of connector keywords (such + as AND or OR). The value must be a VT_UI4 that is a CASE_REQUIREMENT value. + It defaults to CASE_REQUIREMENT_UPPER_IF_AQS. + + + + + Provides a set of flags to be used with IQueryParser::SetMultiOption + to indicate individual options. + + + + + The key should be property name P. The value should be a + VT_UNKNOWN with an IEnumVARIANT which has two values: a VT_BSTR that is another + property name Q and a VT_I4 that is a CONDITION_OPERATION cop. A predicate with + property name P, some operation and a value V will then be replaced by a predicate + with property name Q, operation cop and value V before further processing happens. + + + + + The key should be a value type name V. The value should be a + VT_LPWSTR with a property name P. A predicate with no property name and a value of type + V (or any subtype of V) will then use property P. + + + + + The key should be a value type name V. The value should be a + VT_UNKNOWN with a IConditionGenerator G. The GenerateForLeaf method of + G will then be applied to any predicate with value type V and if it returns a query + expression, that will be used. If it returns NULL, normal processing will be used + instead. + + + + + The key should be a property name P. The value should be a VT_VECTOR|VT_LPWSTR, + where each string is a property name. The count must be at least one. This "map" will be + added to those of the loaded schema and used during resolution. A second call with the + same key will replace the current map. If the value is VT_NULL, the map will be removed. + + + + + Used by IQueryParserManager::SetOption to set parsing options. + This can be used to specify schemas and localization options. + + + + + A VT_LPWSTR containing the name of the file that contains the schema binary. + The default value is StructuredQuerySchema.bin for the SystemIndex catalog + and StructuredQuerySchemaTrivial.bin for the trivial catalog. + + + + + Either a VT_BOOL or a VT_LPWSTR. If the value is a VT_BOOL and is FALSE, + a pre-localized schema will not be used. If the value is a VT_BOOL and is TRUE, + IQueryParserManager will use the pre-localized schema binary in + "%ALLUSERSPROFILE%\Microsoft\Windows". If the value is a VT_LPWSTR, the value should + contain the full path of the folder in which the pre-localized schema binary can be found. + The default value is VT_BOOL with TRUE. + + + + + A VT_LPWSTR containing the full path to the folder that contains the + unlocalized schema binary. The default value is "%SYSTEMROOT%\System32". + + + + + A VT_LPWSTR containing the full path to the folder that contains the + localized schema binary that can be read and written to as needed. + The default value is "%LOCALAPPDATA%\Microsoft\Windows". + + + + + A VT_BOOL. If TRUE, then the paths for pre-localized and localized binaries + have "\(LCID)" appended to them, where language code identifier (LCID) is + the decimal locale ID for the localized language. The default is TRUE. + + + + + A VT_UNKNOWN with an object supporting ISchemaLocalizerSupport. + This object will be used instead of the default localizer support object. + + + + + A Shell Library in the Shell Namespace + + + + + Creates a shell library in the Libraries Known Folder, + using the given IKnownFolder + + KnownFolder from which to create the new Shell Library + If true , opens the library in read-only mode. + + + + Creates a shell library in the Libraries Known Folder, + using the given shell library name. + + The name of this library + Allow overwriting an existing library; if one exists with the same name + + + + Creates a shell library in a given Known Folder, + using the given shell library name. + + The name of this library + The known folder + Override an existing library with the same name + + + + Creates a shell library in a given local folder, + using the given shell library name. + + The name of this library + The path to the local folder + Override an existing library with the same name + + + + The name of the library, every library must + have a name + + Will throw if no Icon is set + + + + The Resource Reference to the icon. + + + + + One of predefined Library types + + Will throw if no Library Type is set + + + + The Guid of the Library type + + Will throw if no Library Type is set + + + + By default, this folder is the first location + added to the library. The default save folder + is both the default folder where files can + be saved, and also where the library XML + file will be saved, if no other path is specified + + + + + Whether the library will be pinned to the + Explorer Navigation Pane + + + + + Close the library, and release its associated file system resources + + + + + Get a the known folder FOLDERID_Libraries + + + + + Load the library using a number of options + + The name of the library + If true, loads the library in read-only mode. + A ShellLibrary Object + + + + Load the library using a number of options + + The name of the library. + The path to the library. + If true, opens the library in read-only mode. + A ShellLibrary Object + + + + Load the library using a number of options + + IShellItem + read-only flag + A ShellLibrary Object + + + + Load the library using a number of options + + A known folder. + If true, opens the library in read-only mode. + A ShellLibrary Object + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + The name of the library + The path to the library. + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + The name of the library + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Shows the library management dialog which enables users to mange the library folders and default save location. + + A known folder. + The parent window,or IntPtr.Zero for no parent + A title for the library management dialog, or null to use the library name as the title + An optional help string to display for the library management dialog + If true, do not show warning dialogs about locations that cannot be indexed + If the library is already open in read-write mode, the dialog will not save the changes. + + + + Add a new FileSystemFolder or SearchConnector + + The folder to add to the library. + + + + Add an existing folder to this library + + The path to the folder to be added to the library. + + + + Clear all items of this Library + + + + + Remove a folder or search connector + + The item to remove. + true if the item was removed. + + + + Remove a folder or search connector + + The path of the item to remove. + true if the item was removed. + + + + Release resources + + Indicates that this was called from Dispose(), rather than from the finalizer. + + + + Release resources + + + + + Retrieves the collection enumerator. + + The enumerator. + + + + Retrieves the collection enumerator. + + The enumerator. + + + + Determines if an item with the specified path exists in the collection. + + The path of the item. + true if the item exists in the collection. + + + + Determines if a folder exists in the collection. + + The folder. + true, if the folder exists in the collection. + + + + Searches for the specified FileSystemFolder and returns the zero-based index of the + first occurrence within Library list. + + The item to search for. + The index of the item in the collection, or -1 if the item does not exist. + + + + Inserts a FileSystemFolder at the specified index. + + The index to insert at. + The FileSystemFolder to insert. + + + + Removes an item at the specified index. + + The index to remove. + + + + Retrieves the folder at the specified index + + The index of the folder to retrieve. + A folder. + + + + Copies the collection to an array. + + The array to copy to. + The index in the array at which to start the copy. + + + + The count of the items in the list. + + + + + Indicates whether this list is read-only or not. + + + + + Indicates whether this feature is supported on the current platform. + + + + + The base class for all Shell objects in Shell Namespace. + + + + + Creates a ShellObject subclass given a parsing name. + For file system items, this method will only accept absolute paths. + + The parsing name of the object. + A newly constructed ShellObject object. + + + + Indicates whether this feature is supported on the current platform. + + + + + Internal member to keep track of the native IShellItem2 + + + + + Parsing name for this Object e.g. c:\Windows\file.txt, + or ::{Some Guid} + + + + + A friendly name for this object that' suitable for display + + + + + PID List (PIDL) for this object + + + + + Return the native ShellFolder object as newer IShellItem2 + + If the native object cannot be created. + The ErrorCode member will contain the external error code. + + + + Return the native ShellFolder object + + + + + Gets access to the native IPropertyStore (if one is already + created for this item and still valid. This is usually done by the + ShellPropertyWriter class. The reference will be set to null + when the writer has been closed/commited). + + + + + Updates the native shell item that maps to this shell object. This is necessary when the shell item + changes after the shell object has been created. Without this method call, the retrieval of properties will + return stale data. + + Bind context object + + + + Gets an object that allows the manipulation of ShellProperties for this shell item. + + + + + Gets the parsing name for this ShellItem. + + + + + Gets the normal display for this ShellItem. + + + + + Gets the PID List (PIDL) for this ShellItem. + + + + + Overrides object.ToString() + + A string representation of the object. + + + + Returns the display name of the ShellFolder object. DisplayNameType represents one of the + values that indicates how the name should look. + See for a list of possible values. + + A disaply name type. + A string. + + + + Gets a value that determines if this ShellObject is a link or shortcut. + + + + + Gets a value that determines if this ShellObject is a file system object. + + + + + Gets the thumbnail of the ShellObject. + + + + + Gets the parent ShellObject. + Returns null if the object has no parent, i.e. if this object is the Desktop folder. + + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Returns the hash code of the object. + + + + + + Determines if two ShellObjects are identical. + + The ShellObject to comare this one to. + True if the ShellObjects are equal, false otherwise. + + + + Returns whether this object is equal to another. + + The object to compare against. + Equality result. + + + + Implements the == (equality) operator. + + First object to compare. + Second object to compare. + True if leftShellObject equals rightShellObject; false otherwise. + + + + Implements the != (inequality) operator. + + First object to compare. + Second object to compare. + True if leftShellObject does not equal leftShellObject; false otherwise. + + + + Internal class that contains interop declarations for + functions that are considered benign but that + are performance critical. + + + Functions that are benign but not performance critical + should be located in the NativeMethods class. + + + + + Represents a registered file system Known Folder + + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's parsing name. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Release resources + + Indicates that this mothod is being called from Dispose() rather than the finalizer. + + + + Represents a non filesystem item (e.g. virtual items inside Control Panel) + + + + + Represents a Non FileSystem folder (e.g. My Computer, Control Panel) + + + + + Represents a registered non file system Known Folder + + + + + Gets the path for this known folder. + + A object. + + + + Gets the category designation for this known folder. + + A value. + + + + Gets this known folder's canonical name. + + A object. + + + + Gets this known folder's description. + + A object. + + + + Gets the unique identifier for this known folder's parent folder. + + A value. + + + + Gets this known folder's relative path. + + A object. + + + + Gets this known folder's parsing name. + + A object. + + + + Gets this known folder's tool tip text. + + A object. + + + + Gets the resource identifier for this + known folder's tool tip text. + + A object. + + + + Gets this known folder's localized name. + + A object. + + + + Gets the resource identifier for this + known folder's localized name. + + A object. + + + + Gets this known folder's security attributes. + + A object. + + + + Gets this known folder's file attributes, + such as "read-only". + + A value. + + + + Gets an value that describes this known folder's behaviors. + + A value. + + + + Gets the unique identifier for this known folder's type. + + A value. + + + + Gets a string representation of this known folder's type. + + A object. + + + + Gets the unique identifier for this known folder. + + A value. + + + + Gets a value that indicates whether this known folder's path exists on the computer. + + A bool value. + If this property value is false, + the folder might be a virtual folder ( property will + be for virtual folders) + + + + Gets a value that states whether this known folder + can have its path set to a new value, + including any restrictions on the redirection. + + A value. + + + + Release resources + + Indicates that this mothod is being called from Dispose() rather than the finalizer. + + + + Represents the different retrieval options for the thumbnail or icon, + such as extracting the thumbnail or icon from a file, + from the cache only, or from memory only. + + + + + The default behavior loads a thumbnail. If there is no thumbnail for the current ShellItem, + the icon is retrieved. The thumbnail or icon is extracted if it is not currently cached. + + + + + The CacheOnly behavior returns a cached thumbnail if it is available. Allows access to the disk, + but only to retrieve a cached item. If no cached thumbnail is available, a cached per-instance icon is returned but + a thumbnail or icon is not extracted. + + + + + The MemoryOnly behavior returns the item only if it is in memory. The disk is not accessed even if the item is cached. + Note that this only returns an already-cached icon and can fall back to a per-class icon if + an item has a per-instance icon that has not been cached yet. Retrieving a thumbnail, + even if it is cached, always requires the disk to be accessed, so this method should not be + called from the user interface (UI) thread without passing ShellThumbnailCacheOptions.MemoryOnly. + + + + + Represents the format options for the thumbnails and icons. + + + + + The default behavior loads a thumbnail. An HBITMAP for the icon of the item is retrieved if there is no thumbnail for the current Shell Item. + + + + + The ThumbnailOnly behavior returns only the thumbnails, never the icon. Note that not all items have thumbnails + so ShellThumbnailFormatOption.ThumbnailOnly can fail in these cases. + + + + + The IconOnly behavior returns only the icon, never the thumbnail. + + + + + Represents the base class for all search-related classes. + + + + + Represents the base class for all types of Shell "containers". Any class deriving from this class + can contain other ShellObjects (e.g. ShellFolder, FileSystemKnownFolder, ShellLibrary, etc) + + + + + Release resources + + True indicates that this is being called from Dispose(), rather than the finalizer. + + + + Enumerates through contents of the ShellObjectContainer + + Enumerated contents + + + + Represents a link to existing FileSystem or Virtual item. + + + + + Path for this file e.g. c:\Windows\file.txt, + + + + + The path for this link + + + + + Gets the location to which this link points to. + + + + + Gets the ShellObject to which this link points to. + + + + + Gets or sets the link's title + + + + + Gets the arguments associated with this link. + + + + + Gets the comments associated with this link. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to AddToMostRecentlyUsedList cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to AlwaysAppendDefaultExtension cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Index was outside the bounds of the CommonFileDialogComboBox.. + + + + + Looks up a localized string similar to File name not available - dialog was canceled.. + + + + + Looks up a localized string similar to Shell item could not be created.. + + + + + Looks up a localized string similar to Handle provided cannot be IntPtr.Zero.. + + + + + Looks up a localized string similar to Multiple files selected - the FileNames property should be used instead.. + + + + + Looks up a localized string similar to Multiple files selected - the Items property should be used instead.. + + + + + Looks up a localized string similar to File name not available - dialog has not closed yet.. + + + + + Looks up a localized string similar to Common File Dialog requires Windows Vista or later.. + + + + + Looks up a localized string similar to Office Files. + + + + + Looks up a localized string similar to All Picture Files. + + + + + Looks up a localized string similar to Text Files. + + + + + Looks up a localized string similar to CreatePrompt cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Custom controls cannot be removed from a File dialog once added.. + + + + + Looks up a localized string similar to Control name cannot be null or zero length.. + + + + + Looks up a localized string similar to CommonFileDialogMenuItem controls can only be added to CommonFileDialogMenu controls.. + + + + + Looks up a localized string similar to Modifying controls collection while dialog is showing is not supported.. + + + + + Looks up a localized string similar to Dialog cannot have more than one control with the same name.. + + + + + Looks up a localized string similar to Dialog control must be removed from current collections first.. + + + + + Looks up a localized string similar to EnsureFileExists cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsurePathExists cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsureReadOnly cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to EnsureValidNames cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Browsing to object failed.. + + + + + Looks up a localized string similar to ExplorerBrowser failed to get current view.. + + + + + Looks up a localized string similar to Unable to get icon size.. + + + + + Looks up a localized string similar to Unexpected error retrieving item count.. + + + + + Looks up a localized string similar to Unexpected error retrieving selected item count.. + + + + + Looks up a localized string similar to Unexpected error retrieving selection.. + + + + + Looks up a localized string similar to Unexpected error retrieving view items.. + + + + + Looks up a localized string similar to The given path does not exist ({0}). + + + + + Looks up a localized string similar to Guid does not identify a known folder.. + + + + + Looks up a localized string similar to ControlPanel Category. + + + + + Looks up a localized string similar to ControlPanel Classic. + + + + + Looks up a localized string similar to Communications. + + + + + Looks up a localized string similar to Compressed Folder. + + + + + Looks up a localized string similar to Contacts. + + + + + Looks up a localized string similar to Documents. + + + + + Looks up a localized string similar to Games. + + + + + Looks up a localized string similar to Generic Library. + + + + + Looks up a localized string similar to Invalid. + + + + + Looks up a localized string similar to Library. + + + + + Looks up a localized string similar to Music. + + + + + Looks up a localized string similar to Music Icons. + + + + + Looks up a localized string similar to Network Explorer. + + + + + Looks up a localized string similar to Not Specified. + + + + + Looks up a localized string similar to Open Search. + + + + + Looks up a localized string similar to Other Users. + + + + + Looks up a localized string similar to Pictures. + + + + + Looks up a localized string similar to Printers. + + + + + Looks up a localized string similar to RecordedTV. + + + + + Looks up a localized string similar to RecycleBin. + + + + + Looks up a localized string similar to Saved Games. + + + + + Looks up a localized string similar to Search Connector. + + + + + Looks up a localized string similar to Searches. + + + + + Looks up a localized string similar to Generic SearchResults. + + + + + Looks up a localized string similar to Software Explorer. + + + + + Looks up a localized string similar to User Files. + + + + + Looks up a localized string similar to Users Libraries. + + + + + Looks up a localized string similar to Videos. + + + + + Looks up a localized string similar to IsExpandedMode cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Custom categories cannot be added while recent documents tracking is turned off.. + + + + + Looks up a localized string similar to The file type is not registered with this application.. + + + + + Looks up a localized string similar to JumpListLink's path is required and cannot be null.. + + + + + Looks up a localized string similar to JumpListLink's title is required and cannot be null.. + + + + + Looks up a localized string similar to Negative numbers are not allowed for the ordinal position.. + + + + + Looks up a localized string similar to Given Known Folder ID is invalid.. + + + + + Looks up a localized string similar to Parsing name is invalid.. + + + + + Looks up a localized string similar to Creation of window has failed, view inner exception for details.. + + + + + Looks up a localized string similar to Window class could not be registered, check inner exception for more details.. + + + + + Looks up a localized string similar to Message filter registration failed.. + + + + + Looks up a localized string similar to No listener handled of that value is registered.. + + + + + Looks up a localized string similar to Cannot create window on the listener thread because there is no existing window on the listener thread.. + + + + + Looks up a localized string similar to NavigateToShortcut cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Parent cannot be null.. + + + + + Looks up a localized string similar to The method or operation is not implemented.. + + + + + Looks up a localized string similar to OverwritePrompt cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to This CanonicalName is not a valid index.. + + + + + Looks up a localized string similar to This PropertyKey is not a valid index.. + + + + + Looks up a localized string similar to Argument CanonicalName cannot be null or empty.. + + + + + Looks up a localized string similar to Index was outside the bounds of the CommonFileDialogRadioButtonList.. + + + + + Looks up a localized string similar to RestoreDirectory cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Retrieved a null shell item from dialog.. + + + + + Looks up a localized string similar to Given property key is invalid.. + + + + + Looks up a localized string similar to Shell Exception has occurred, look at inner exception for information.. + + + + + Looks up a localized string similar to GetParsingName has failed.. + + + + + Looks up a localized string similar to The given CanonicalName is not valid.. + + + + + Looks up a localized string similar to DefaultSaveFolder path not found.. + + + + + Looks up a localized string similar to LibraryName cannot be empty.. + + + + + Looks up a localized string similar to Folder path not found.. + + + + + Looks up a localized string similar to Invalid FolderType Guid.. + + + + + Looks up a localized string similar to The given known folder is not a valid library.. + + + + + Looks up a localized string similar to Can't get the display name.. + + + + + Looks up a localized string similar to Destination array too small, or invalid arrayIndex.. + + + + + Looks up a localized string similar to Must have at least one shell object in the collection.. + + + + + Looks up a localized string similar to Cannot insert items into a read only list.. + + + + + Looks up a localized string similar to Cannot remove items from a read only list.. + + + + + Looks up a localized string similar to Shell item could not be created.. + + + + + Looks up a localized string similar to Shell Object creation requires Windows Vista or higher operating system.. + + + + + Looks up a localized string similar to Unable to Create Shell Item.. + + + + + Looks up a localized string similar to Registration for change notification has failed.. + + + + + Looks up a localized string similar to Unable to change watched events while listening.. + + + + + Looks up a localized string similar to The value on this property cannot be set. To set the property value, use the ShellObject that is associated with this property.. + + + + + Looks up a localized string similar to No constructor found matching requested argument types.. + + + + + Looks up a localized string similar to Unable to set property.. + + + + + Looks up a localized string similar to Unable to get writable property store for this property.. + + + + + Looks up a localized string similar to A value had to be truncated in a string or rounded if a numeric value. Set AllowTruncatedValue to true to prevent this exception.. + + + + + Looks up a localized string similar to This Property is available on Windows 7 only.. + + + + + Looks up a localized string similar to This property only accepts a value of type \"{0}\".. + + + + + Looks up a localized string similar to Unable to set list of sort columns.. + + + + + Looks up a localized string similar to Unable to set visible columns.. + + + + + Looks up a localized string similar to CurrentSize (width or height) cannot be greater than the maximum size: {0}.. + + + + + Looks up a localized string similar to The current ShellObject does not have a thumbnail. Try using ShellThumbnailFormatOption.Default to get the icon for this item.. + + + + + Looks up a localized string similar to The current ShellObject does not have a valid thumbnail handler or there was a problem in extracting the thumbnail for this specific shell object.. + + + + + Looks up a localized string similar to CurrentSize (width or height) cannot be 0.. + + + + + Looks up a localized string similar to ShowHiddenItems cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to Show places list cannot be changed while dialog is showing.. + + + + + Looks up a localized string similar to The Stock Icon identifier given is invalid ({0}).. + + + + + Looks up a localized string similar to Child control's window handle cannot be zero.. + + + + + Looks up a localized string similar to Parent window handle cannot be zero.. + + + + + Looks up a localized string similar to TabbedThumbnailProxyWindow has not been set.. + + + + + Looks up a localized string similar to A valid active Window is needed to update the Taskbar.. + + + + + Looks up a localized string similar to The array of buttons must contain at least 1 item.. + + + + + Looks up a localized string similar to Tool bar buttons for this window are already added. Please refer to the Remarks section of the AddButtons method for more information on updating the properties or hiding existing buttons.. + + + + + Looks up a localized string similar to Value is already set. It cannot be set more than once.. + + + + + Looks up a localized string similar to The given control has not been added to the taskbar.. + + + + + Looks up a localized string similar to Window handle is invalid.. + + + + + Looks up a localized string similar to This preview has already been added.. + + + + + Looks up a localized string similar to The given preview has not been added to the taskbar.. + + + + + Looks up a localized string similar to Maximum number of buttons allowed is 7.. + + + + + Looks up a localized string similar to Null or empty arrays are not allowed.. + + + + + Encapsulates the data about a window message + + + + + Received windows message. + + + + + The result of registering with the MessageListenerFilter + + + + + Gets the window handle to which the callback was registered. + + + + + Gets the message for which the callback was registered. + + + + + Base class for the Event Args for change notifications raised by . + + + + + The type of the change that happened to the ShellObject + + + + + True if the event was raised as a result of a system interrupt. + + + + + The data that describes a ShellObject event with a single path parameter + + + + + The path of the shell object + + + + + The data that describes a ShellObject renamed event + + + + + The new path of the shell object + + + + + The data that describes a SystemImageUpdated event. + + + + + Gets the index of the system image that has been updated. + + + + + Listens for changes in/on a ShellObject and raises events when they occur. + This class supports all items under the shell namespace including + files, folders and virtual folders (libraries, search results and network items), etc. + + + + + Creates the ShellObjectWatcher for the given ShellObject + + The ShellObject to monitor + Whether to listen for changes recursively (for when monitoring a container) + + + + Gets whether the watcher is currently running. + + + + + Start the watcher and begin receiving change notifications. + + If the watcher is running, has no effect. + Registration for notifications should be done before this is called. + + + + + + Stop the watcher and prevent further notifications from being received. + If the watcher is not running, this has no effect. + + + + + Processes all change notifications sent by the Windows Shell. + + The windows message representing the notification event + + + + Raised when any event occurs. + + + + + Raised when global events occur. + + + + + Raised when disk events occur. + + + + + Raised when an item is renamed. + + + + + Raised when an item is created. + + + + + Raised when an item is deleted. + + + + + Raised when an item is updated. + + + + + Raised when a directory is updated. + + + + + Raised when a directory is renamed. + + + + + Raised when a directory is created. + + + + + Raised when a directory is deleted. + + + + + Raised when media is inserted. + + + + + Raised when media is removed. + + + + + Raised when a drive is added. + + + + + Raised when a drive is removed. + + + + + Raised when a folder is shared on a network. + + + + + Raised when a folder is unshared from the network. + + + + + Raised when a server is disconnected. + + + + + Raised when a system image is changed. + + + + + Raised when free space changes. + + + + + Raised when a file type association changes. + + + + + Disposes ShellObjectWatcher + + + + + + Disposes ShellObjectWatcher. + + + + + Finalizer for ShellObjectWatcher + + + + + Describes the event that has occurred. + Typically, only one event is specified at a time. + If more than one event is specified, + the values contained in the dwItem1 and dwItem2 parameters must be the same, + respectively, for all specified events. + This parameter can be one or more of the following values: + + + + + None + + + + + The name of a nonfolder item has changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the previous PIDL or name of the item. + dwItem2 contains the new PIDL or name of the item. + + + + + A nonfolder item has been created. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that was created. + dwItem2 is not used and should be NULL. + + + + + A nonfolder item has been deleted. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that was deleted. + dwItem2 is not used and should be NULL. + + + + + A folder has been created. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that was created. + dwItem2 is not used and should be NULL. + + + + + A folder has been removed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that was removed. + dwItem2 is not used and should be NULL. + + + + + Storage media has been inserted into a drive. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that contains the new media. + dwItem2 is not used and should be NULL. + + + + + Storage media has been removed from a drive. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive from which the media was removed. + dwItem2 is not used and should be NULL. + + + + + A drive has been removed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that was removed. + dwItem2 is not used and should be NULL. + + + + + A drive has been added. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive that was added. + dwItem2 is not used and should be NULL. + + + + + A folder on the local computer is being shared via the network. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that is being shared. + dwItem2 is not used and should be NULL. + + + + + A folder on the local computer is no longer being shared via the network. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that is no longer being shared. + dwItem2 is not used and should be NULL. + + + + + The attributes of an item or folder have changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item or folder that has changed. + dwItem2 is not used and should be NULL. + + + + + The contents of an existing folder have changed, but the folder still exists and has not been renamed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the folder that has changed. + dwItem2 is not used and should be NULL. + If a folder has been created, deleted, or renamed, use SHCNE_MKDIR, SHCNE_RMDIR, or SHCNE_RENAMEFOLDER, respectively. + + + + + An existing item (a folder or a nonfolder) has changed, but the item still exists and has not been renamed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the item that has changed. + dwItem2 is not used and should be NULL. + If a nonfolder item has been created, deleted, or renamed, + use SHCNE_CREATE, SHCNE_DELETE, or SHCNE_RENAMEITEM, respectively, instead. + + + + + The computer has disconnected from a server. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the server from which the computer was disconnected. + dwItem2 is not used and should be NULL. + + + + + An image in the system image list has changed. + SHCNF_DWORD must be specified in uFlags. + dwItem1 is not used and should be NULL. + dwItem2 contains the index in the system image list that has changed. + //verify this is not opposite? + + + + The name of a folder has changed. SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the previous PIDL or name of the folder. + dwItem2 contains the new PIDL or name of the folder. + + + + + The amount of free space on a drive has changed. + SHCNF_IDLIST or SHCNF_PATH must be specified in uFlags. + dwItem1 contains the root of the drive on which the free space changed. + dwItem2 is not used and should be NULL. + + + + + A file type association has changed. + SHCNF_IDLIST must be specified in the uFlags parameter. + dwItem1 and dwItem2 are not used and must be NULL. + + + + + Specifies a combination of all of the disk event identifiers. + + + + + Specifies a combination of all of the global event identifiers. + + + + + All events have occurred. + + + + + The specified event occurred as a result of a system interrupt. + As this value modifies other event values, it cannot be used alone. + + + + + Represents a standard system icon. + + + + + Creates a new StockIcon instance with the specified identifer, default size + and no link overlay or selected states. + + A value that identifies the icon represented by this instance. + + + + Creates a new StockIcon instance with the specified identifer and options. + + A value that identifies the icon represented by this instance. + A value that indicates the size of the stock icon. + A bool value that indicates whether the icon has a link overlay. + A bool value that indicates whether the icon is in a selected state. + + + + Gets or sets a value indicating whether the icon appears selected. + + A value. + + + + Gets or sets a value that cotrols whether to put a link overlay on the icon. + + A value. + + + + Gets or sets a value that controls the size of the Stock Icon. + + A value. + + + + Gets or sets the Stock Icon identifier associated with this icon. + + + + + Gets the icon image in format. + + + + + Gets the icon image in format. + + + + + Gets the icon image in format. + + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects + + + + + + + + + + Specifies options for the size of the stock icon. + + + + + Retrieve the small version of the icon, as specified by SM_CXSMICON and SM_CYSMICON system metrics. + + + + + Retrieve the large version of the icon, as specified by SM_CXICON and SM_CYICON system metrics. + + + + + Retrieve the shell-sized icons (instead of the size specified by the system metrics). + + + + + Provides values used to specify which standard icon to retrieve. + + + + + Icon for a document (blank page), no associated program. + + + + + Icon for a document with an associated program. + + + + + Icon for a generic application with no custom icon. + + + + + Icon for a closed folder. + + + + + Icon for an open folder. + + + + + Icon for a 5.25" floppy disk drive. + + + + + Icon for a 3.5" floppy disk drive. + + + + + Icon for a removable drive. + + + + + Icon for a fixed (hard disk) drive. + + + + + Icon for a network drive. + + + + + Icon for a disconnected network drive. + + + + + Icon for a CD drive. + + + + + Icon for a RAM disk drive. + + + + + Icon for an entire network. + + + + + Icon for a computer on the network. + + + + + Icon for a printer. + + + + + Icon for My Network places. + + + + + Icon for search (magnifying glass). + + + + + Icon for help. + + + + + Icon for an overlay indicating shared items. + + + + + Icon for an overlay indicating shortcuts to items. + + + + + Icon for an overlay for slow items. + + + + + Icon for a empty recycle bin. + + + + + Icon for a full recycle bin. + + + + + Icon for audio CD media. + + + + + Icon for a security lock. + + + + + Icon for a auto list. + + + + + Icon for a network printer. + + + + + Icon for a server share. + + + + + Icon for a Fax printer. + + + + + Icon for a networked Fax printer. + + + + + Icon for print to file. + + + + + Icon for a stack. + + + + + Icon for a SVCD media. + + + + + Icon for a folder containing other items. + + + + + Icon for an unknown drive. + + + + + Icon for a DVD drive. + + + + + Icon for DVD media. + + + + + Icon for DVD-RAM media. + + + + + Icon for DVD-RW media. + + + + + Icon for DVD-R media. + + + + + Icon for a DVD-ROM media. + + + + + Icon for CD+ (Enhanced CD) media. + + + + + Icon for CD-RW media. + + + + + Icon for a CD-R media. + + + + + Icon burning a CD. + + + + + Icon for blank CD media. + + + + + Icon for CD-ROM media. + + + + + Icon for audio files. + + + + + Icon for image files. + + + + + Icon for video files. + + + + + Icon for mixed Files. + + + + + Icon for a folder back. + + + + + Icon for a folder front. + + + + + Icon for a security shield. Use for UAC prompts only. + + + + + Icon for a warning. + + + + + Icon for an informational message. + + + + + Icon for an error message. + + + + + Icon for a key. + + + + + Icon for software. + + + + + Icon for a rename. + + + + + Icon for delete. + + + + + Icon for audio DVD media. + + + + + Icon for movie DVD media. + + + + + Icon for enhanced CD media. + + + + + Icon for enhanced DVD media. + + + + + Icon for HD-DVD media. + + + + + Icon for BluRay media. + + + + + Icon for VCD media. + + + + + Icon for DVD+R media. + + + + + Icon for DVD+RW media. + + + + + Icon for desktop computer. + + + + + Icon for mobile computer (laptop/notebook). + + + + + Icon for users. + + + + + Icon for smart media. + + + + + Icon for compact flash. + + + + + Icon for a cell phone. + + + + + Icon for a camera. + + + + + Icon for video camera. + + + + + Icon for audio player. + + + + + Icon for connecting to network. + + + + + Icon for the Internet. + + + + + Icon for a ZIP file. + + + + + Icon for settings. + + + + + HDDVD Drive (all types) + + + + + Icon for BluRay Drive (all types) + + + + + Icon for HDDVD-ROM Media + + + + + Icon for HDDVD-R Media + + + + + Icon for HDDVD-RAM Media + + + + + Icon for BluRay ROM Media + + + + + Icon for BluRay R Media + + + + + Icon for BluRay RE Media (Rewriable and RAM) + + + + + Icon for Clustered disk + + + + + Collection of all the standard system stock icons + + + + + Creates a stock icon collection using the default options for + size, link overlay and selection state. + + + + + Overloaded constructor that takes in size and Boolean values for + link overlay and selected icon state. The settings are applied to + all the stock icons in the collection. + + StockIcon size for all the icons in the collection. + Link Overlay state for all the icons in the collection. + Selection state for all the icons in the collection. + + + + Gets the default stock icon size in one of the StockIconSize values. + This size applies to all the stock icons in the collection. + + + + + Gets the default link overlay state for the icon. This property + applies to all the stock icons in the collection. + + + + + Gets the default selected state for the icon. This property + applies to all the stock icons in the collection. + + + + + Gets a collection of all the system stock icons + + + + + Icon for a document (blank page), no associated program. + + + + + Icon for a document with an associated program. + + + + + Icon for a generic application with no custom icon. + + + + + Icon for a closed folder. + + + + + Icon for an open folder. + + + + + Icon for a 5.25" floppy disk drive. + + + + + Icon for a 3.5" floppy disk drive. + + + + + Icon for a removable drive. + + + + + Icon for a fixed (hard disk) drive. + + + + + Icon for a network drive. + + + + + Icon for a disconnected network drive. + + + + + Icon for a CD drive. + + + + + Icon for a RAM disk drive. + + + + + Icon for an entire network. + + + + + Icon for a computer on the network. + + + + + Icon for a printer. + + + + + Icon for My Network places. + + + + + Icon for search (magnifying glass). + + + + + Icon for help. + + + + + Icon for an overlay indicating shared items. + + + + + Icon for an overlay indicating shortcuts to items. + + + + + Icon for an overlay for slow items. + + + + + Icon for a empty recycle bin. + + + + + Icon for a full recycle bin. + + + + + Icon for audio CD media. + + + + + Icon for a security lock. + + + + + Icon for a auto list. + + + + + Icon for a network printer. + + + + + Icon for a server share. + + + + + Icon for a Fax printer. + + + + + Icon for a networked Fax printer. + + + + + Icon for print to file. + + + + + Icon for a stack. + + + + + Icon for a SVCD media. + + + + + Icon for a folder containing other items. + + + + + Icon for an unknown drive. + + + + + Icon for a DVD drive. + + + + + Icon for DVD media. + + + + + Icon for DVD-RAM media. + + + + + Icon for DVD-RW media. + + + + + Icon for DVD-R media. + + + + + Icon for a DVD-ROM media. + + + + + Icon for CD+ (Enhanced CD) media. + + + + + Icon for CD-RW media. + + + + + Icon for a CD-R media. + + + + + Icon burning a CD. + + + + + Icon for blank CD media. + + + + + Icon for CD-ROM media. + + + + + Icon for audio files. + + + + + Icon for image files. + + + + + Icon for video files. + + + + + Icon for mixed Files. + + + + + Icon for a folder back. + + + + + Icon for a folder front. + + + + + Icon for a security shield. Use for UAC prompts only. + + + + + Icon for a warning. + + + + + Icon for an informational message. + + + + + Icon for an error message. + + + + + Icon for a key. + + + + + Icon for software. + + + + + Icon for a rename. + + + + + Icon for delete. + + + + + Icon for audio DVD media. + + + + + Icon for movie DVD media. + + + + + Icon for enhanced CD media. + + + + + Icon for enhanced DVD media. + + + + + Icon for HD-DVD media. + + + + + Icon for BluRay media. + + + + + Icon for VCD media. + + + + + Icon for DVD+R media. + + + + + Icon for DVD+RW media. + + + + + Icon for desktop computer. + + + + + Icon for mobile computer (laptop/notebook). + + + + + Icon for users. + + + + + Icon for smart media. + + + + + Icon for compact flash. + + + + + Icon for a cell phone. + + + + + Icon for a camera. + + + + + Icon for video camera. + + + + + Icon for audio player. + + + + + Icon for connecting to network. + + + + + Icon for the Internet. + + + + + Icon for a ZIP file. + + + + + Icon for settings. + + + + + HDDVD Drive (all types) + + + + + Icon for BluRay Drive (all types) + + + + + Icon for HDDVD-ROM Media + + + + + Icon for HDDVD-R Media + + + + + Icon for HDDVD-RAM Media + + + + + Icon for BluRay ROM Media + + + + + Icon for BluRay R Media + + + + + Icon for BluRay RE Media (Rewriable and RAM) + + + + + Icon for Clustered disk + + + + + Returns the existing stock icon from the internal cache, or creates a new one + based on the current settings if it's not in the cache. + + Unique identifier for the requested stock icon + Stock Icon based on the identifier given (either from the cache or created new) + + + + Indicate flags that modify the property store object retrieved by methods + that create a property store, such as IShellItem2::GetPropertyStore or + IPropertyStoreFactory::GetPropertyStore. + + + + + 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. + + + + + 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. + + + + + 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. + + + + + 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 + + + + + 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. + + + + + 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. + + + + + 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 + + + + + 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. + + + + + Mask for valid GETPROPERTYSTOREFLAGS values. + + + + + The specified items can be copied. + + + + + The specified items can be moved. + + + + + Shortcuts can be created for the specified items. This flag has the same value as DROPEFFECT. + The normal use of this flag is to add a Create Shortcut item to the shortcut menu that is displayed + during drag-and-drop operations. However, SFGAO_CANLINK also adds a Create Shortcut item to the Microsoft + Windows Explorer's File menu and to normal shortcut menus. + If this item is selected, your application's IContextMenu::InvokeCommand is invoked with the lpVerb + member of the CMINVOKECOMMANDINFO structure set to "link." Your application is responsible for creating the link. + + + + + The specified items can be bound to an IStorage interface through IShellFolder::BindToObject. + + + + + The specified items can be renamed. + + + + + The specified items can be deleted. + + + + + The specified items have property sheets. + + + + + The specified items are drop targets. + + + + + This flag is a mask for the capability flags. + + + + + Windows 7 and later. The specified items are system items. + + + + + The specified items are encrypted. + + + + + Indicates that accessing the object = through IStream or other storage interfaces, + is a slow operation. + Applications should avoid accessing items flagged with SFGAO_ISSLOW. + + + + + The specified items are ghosted icons. + + + + + The specified items are shortcuts. + + + + + The specified folder objects are shared. + + + + + The specified items are read-only. In the case of folders, this means + that new items cannot be created in those folders. + + + + + The item is hidden and should not be displayed unless the + Show hidden files and folders option is enabled in Folder Settings. + + + + + This flag is a mask for the display attributes. + + + + + The specified folders contain one or more file system folders. + + + + + The specified items are folders. + + + + + The specified folders or file objects are part of the file system + that is, they are files, directories, or root directories). + + + + + The specified folders have subfolders = and are, therefore, + expandable in the left pane of Windows Explorer). + + + + + This flag is a mask for the contents attributes. + + + + + When specified as input, SFGAO_VALIDATE instructs the folder to validate that the items + pointed to by the contents of apidl exist. If one or more of those items do not exist, + IShellFolder::GetAttributesOf returns a failure code. + When used with the file system folder, SFGAO_VALIDATE instructs the folder to discard cached + properties retrieved by clients of IShellFolder2::GetDetailsEx that may + have accumulated for the specified items. + + + + + The specified items are on removable media or are themselves removable devices. + + + + + The specified items are compressed. + + + + + The specified items can be browsed in place. + + + + + The items are nonenumerated items. + + + + + The objects contain new content. + + + + + It is possible to create monikers for the specified file objects or folders. + + + + + Not supported. + + + + + Indicates that the item has a stream associated with it that can be accessed + by a call to IShellFolder::BindToObject with IID_IStream in the riid parameter. + + + + + Children of this item are accessible through IStream or IStorage. + Those children are flagged with SFGAO_STORAGE or SFGAO_STREAM. + + + + + This flag is a mask for the storage capability attributes. + + + + + Mask used by PKEY_SFGAOFlags to remove certain values that are considered + to cause slow calculations or lack context. + Equal to SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER. + + + + + Represents a saved search + + + + + Implements a CommandLink button that can be used in + WinForms user interfaces. + + + + + Gets a System.Windows.Forms.CreateParams on the base class when + creating a window. + + + + + Creates a new instance of this class. + + + + + Increase default width. + + + + + Specifies the supporting note text + + + + + Enable shield icon to be set at design-time. + + + + + Indicates whether this feature is supported on the current platform. + + + + + This class is a wrapper around the Windows Explorer Browser control. + + + + + Options that control how the ExplorerBrowser navigates + + + + + Options that control how the content of the ExplorerBorwser looks + + + + + The set of ShellObjects in the Explorer Browser + + + + + The set of selected ShellObjects in the Explorer Browser + + + + + Contains the navigation history of the ExplorerBrowser + + + + + The name of the property bag used to persist changes to the ExplorerBrowser's view state. + + + + + Clears the Explorer Browser of existing content, fills it with + content from the specified container, and adds a new point to the Travel Log. + + The shell container to navigate to. + Will throw if navigation fails for any other reason. + + + + Navigates within the navigation log. This does not change the set of + locations in the navigation log. + + Forward of Backward + True if the navigation succeeded, false if it failed for any reason. + + + + Navigate within the navigation log. This does not change the set of + locations in the navigation log. + + An index into the navigation logs Locations collection. + True if the navigation succeeded, false if it failed for any reason. + + + + Fires when the SelectedItems collection changes. + + + + + Fires when the Items colection changes. + + + + + Fires when a navigation has been initiated, but is not yet complete. + + + + + Fires when a navigation has been 'completed': no NavigationPending listener + has cancelled, and the ExplorerBorwser has created a new view. The view + will be populated with new items asynchronously, and ItemsChanged will be + fired to reflect this some time later. + + + + + Fires when either a NavigationPending listener cancels the navigation, or + if the operating system determines that navigation is not possible. + + + + + Fires when the ExplorerBorwser view has finished enumerating files. + + + + + Fires when the item selected in the view has changed (i.e., a rename ). + This is not the same as SelectionChanged. + + + + + Initializes the ExplorerBorwser WinForms wrapper. + + + + + Displays a placeholder for the explorer browser in design mode + + Contains information about the paint event. + + + + Creates and initializes the native ExplorerBrowser control + + + + + Sizes the native control to match the WinForms control wrapper. + + Contains information about the size changed event. + + + + Cleans up the explorer browser events+object when the window is being taken down. + + An EventArgs that contains event data. + + + + + + calling service + requested interface guid + caller-allocated memory for interface pointer + + + + + Controls the visibility of the explorer borwser panes + + a guid identifying the pane + the pane state desired + + + + + Returns the current view mode of the browser + + + + + + Gets the IFolderView2 interface from the explorer browser. + + + + + + Gets the selected items in the explorer browser as an IShellItemArray + + + + + + Gets the items in the ExplorerBrowser as an IShellItemArray + + + + + + Implements a CommandLink button that can be used in WPF user interfaces. + + + CommandLink + + + + + Creates a new instance of this class. + + + + + Routed UI command to use for this button + + + + + Occurs when the control is clicked. + + + + + Specifies the main instruction text + + + + + Specifies the supporting note text + + + + + Icon to set for the command link button + + + + + Indicates if the button is in a checked state + + + + + Occurs when a property value changes. + + + + + Indicates whether this feature is supported on the current platform. + + + + + InitializeComponent + + + + + Interaction logic for ExplorerBrowser.xaml + + + ExplorerBrowser + + + + + The underlying WinForms control + + + + + Hosts the ExplorerBrowser WinForms wrapper in this control + + + + + To avoid the 'Dispatcher processing has been suspended' InvalidOperationException on Win7, + the ExplorerBorwser native control is initialized after this control is fully loaded. + + + + + + + Map changes to the CLR flags to the dependency properties + + + + + + + Synchronize NavigationLog collection to dependency collection + + + + + + + Synchronize SelectedItems collection to dependency collection + + + + + + + The items in the ExplorerBrowser window + + + + + The items in the ExplorerBrowser window + + + + + The selected items in the ExplorerBrowser window + + + + + The selected items in the ExplorerBrowser window + + + + + The NavigationLog + + + + + The selected items in the ExplorerBrowser window + + + + + The location the explorer browser is navigating to + + + + + The DependencyProperty for the NavigationTarget property + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is in "tile view mode" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + The size of the thumbnails in the explorer browser + + + + + The various view modes of the explorer browser control + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Do not navigate further than the initial navigation. + + + + + Show/Hide the AdvancedQuery pane on subsequent navigation + + + + + Show/Hide the Commands pane on subsequent navigation + + + + + Show/Hide the Organize menu in the Commands pane on subsequent navigation + + + + + Show/Hide the View menu in the Commands pane on subsequent navigation + + + + + Show/Hide the Details pane on subsequent navigation + + + + + Show/Hide the Navigation pane on subsequent navigation + + + + + Show/Hide the Preview pane on subsequent navigation + + + + + Show/Hide the Query pane on subsequent navigation + + + + + Navigation log index + + + + + Disposes the class + + + + + Disposes the browser. + + + + + + InitializeComponent + + + + + An exception thrown when an error occurs while dealing with Control objects. + + + + + Default constructor. + + + + + Initializes an excpetion with a custom message. + + + + + + Initializes an exception with custom message and inner exception. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception with custom message and error code. + + + + + + + Initializes an exception from serialization info and a context. + + + + + + + These options control how the content of the Explorer Browser + is rendered. + + + + + The viewing mode of the Explorer Browser + + + + + The binary representation of the ExplorerBrowser content flags + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is in "tile view mode" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + The size of the thumbnails in pixels + + + + + Event argument for The NavigationPending event + + + + + The location being navigated to + + + + + Set to 'True' to cancel the navigation. + + + + + Event argument for The NavigationComplete event + + + + + The new location of the explorer browser + + + + + Event argument for the NavigatinoFailed event + + + + + The location the the browser would have navigated to. + + + + + The navigation log is a history of the locations visited by the explorer browser. + + + + + Clears the contents of the navigation log. + + + + + Indicates the presence of locations in the log that can be + reached by calling Navigate(Forward) + + + + + Indicates the presence of locations in the log that can be + reached by calling Navigate(Backward) + + + + + The navigation log + + + + + An index into the Locations collection. The ShellObject pointed to + by this index is the current location of the ExplorerBrowser. + + + + + Gets the shell object in the Locations collection pointed to + by CurrentLocationIndex. + + + + + Fires when the navigation log changes or + the current navigation position changes + + + + + The pending navigation log action. null if the user is not navigating + via the navigation log. + + + + + The index into the Locations collection. -1 if the Locations colleciton + is empty. + + + + + A navigation traversal request + + + + + Indicates the viewing mode of the explorer browser + + + + + Choose the best view mode for the folder + + + + + (New for Windows7) + + + + + Object names and other selected information, such as the size or date last updated, are shown. + + + + + The view should display medium-size icons. + + + + + Object names are displayed in a list view. + + + + + The view should display small icons. + + + + + The view should display thumbnail icons. + + + + + The view should display icons in a filmstrip format. + + + + + The view should display large icons. + + + + + Specifies the options that control subsequent navigation. + Typically use one, or a bitwise combination of these + flags to specify how the explorer browser navigates. + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Do not navigate further than the initial navigation. + + + + + Indicates the content options of the explorer browser. + Typically use one, or a bitwise combination of these + flags to specify how conent should appear in the + explorer browser control + + + + + No options. + + + + + The view should be left-aligned. + + + + + Automatically arrange the elements in the view. + + + + + Turns on check mode for the view + + + + + When the view is set to "Tile" the layout of a single item should be extended to the width of the view. + + + + + When an item is selected, the item and all its sub-items are highlighted. + + + + + The view should not display file names + + + + + The view should not save view state in the browser. + + + + + Do not display a column header in the view in any view mode. + + + + + Only show the column header in details view mode. + + + + + The view should not display icons. + + + + + Do not show subfolders. + + + + + Navigate with a single click + + + + + Do not allow more than a single item to be selected. + + + + + Indicates the visibility state of an ExplorerBrowser pane + + + + + Allow the explorer browser to determine if this pane is displayed. + + + + + Hide the pane + + + + + Show the pane + + + + + Controls the visibility of the various ExplorerBrowser panes on subsequent navigation + + + + + The pane on the left side of the Windows Explorer window that hosts the folders tree and Favorites. + + + + + Commands module along the top of the Windows Explorer window. + + + + + Organize menu within the commands module. + + + + + View menu within the commands module. + + + + + Pane showing metadata along the bottom of the Windows Explorer window. + + + + + Pane on the right of the Windows Explorer window that shows a large reading preview of the file. + + + + + Quick filter buttons to aid in a search. + + + + + Additional fields and options to aid in a search. + + + + + The direction argument for Navigate + + + + + Navigates forward through the navigation log + + + + + Navigates backward through the travel log + + + + + The event argument for NavigationLogChangedEvent + + + + + Indicates CanNavigateForward has changed + + + + + Indicates CanNavigateBackward has changed + + + + + Indicates the Locations collection has changed + + + + + These options control the results subsequent navigations of the ExplorerBrowser + + + + + The binary flags that are passed to the explorer browser control's GetOptions/SetOptions methods + + + + + Do not navigate further than the initial navigation. + + + + + Always navigate, even if you are attempting to navigate to the current folder. + + + + + Controls the visibility of the various ExplorerBrowser panes on subsequent navigation + + + + + Prepares the browser to be navigated. + + A handle to the owner window or control. + A pointer to a RECT containing the coordinates of the bounding rectangle + the browser will occupy. The coordinates are relative to hwndParent. If this parameter is NULL, + then method IExplorerBrowser::SetRect should subsequently be called. + A pointer to a FOLDERSETTINGS structure that determines how the folder will be + displayed in the view. If this parameter is NULL, then method IExplorerBrowser::SetFolderSettings + should be called, otherwise, the default view settings for the folder are used. + + + + + Destroys the browser. + + + + + + Sets the size and position of the view windows created by the browser. + + A pointer to a DeferWindowPos handle. This paramater can be NULL. + The coordinates that the browser will occupy. + + + + + Sets the name of the property bag. + + A pointer to a constant, null-terminated, Unicode string that contains + the name of the property bag. View state information that is specific to the application of the + client is stored (persisted) using this name. + + + + + Sets the default empty text. + + A pointer to a constant, null-terminated, Unicode string that contains + the empty text. + + + + + Sets the folder settings for the current view. + + A pointer to a FOLDERSETTINGS structure that contains the folder settings + to be applied. + + + + + Initiates a connection with IExplorerBrowser for event callbacks. + + A pointer to the IExplorerBrowserEvents interface of the object to be + advised of IExplorerBrowser events + When this method returns, contains a token that uniquely identifies + the event listener. This allows several event listeners to be subscribed at a time. + + + + + Terminates an advisory connection. + + A connection token previously returned from IExplorerBrowser::Advise. + Identifies the connection to be terminated. + + + + + Sets the current browser options. + + One or more EXPLORER_BROWSER_OPTIONS flags to be set. + + + + + Gets the current browser options. + + When this method returns, contains the current EXPLORER_BROWSER_OPTIONS + for the browser. + + + + + Browses to a pointer to an item identifier list (PIDL) + + A pointer to a const ITEMIDLIST (item identifier list) that specifies an object's + location as the destination to navigate to. This parameter can be NULL. + A flag that specifies the category of the pidl. This affects how + navigation is accomplished + + + + + Browse to an object + + A pointer to an object to browse to. If the object cannot be browsed, + an error value is returned. + A flag that specifies the category of the pidl. This affects how + navigation is accomplished. + + + + + Creates a results folder and fills it with items. + + An interface pointer on the source object that will fill the IResultsFolder + One of the EXPLORER_BROWSER_FILL_FLAGS + + + + + Removes all items from the results folder. + + + + + + Gets an interface for the current view of the browser. + + A reference to the desired interface ID. + When this method returns, contains the interface pointer requested in riid. + This will typically be IShellView or IShellView2. + + + + + Internal class that contains interop declarations for + functions that are not benign and are performance critical. + + + + + Defines the abstract base class for the common file dialogs. + + + + + The collection of names selected by the user. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified title. + + The title to display in the dialog. + + + + Raised just before the dialog is about to return with a result. Occurs when the user clicks on the Open + or Save button on a file dialog box. + + + + + Raised just before the user navigates to a new folder. + + + + + Raised when the user navigates to a new folder. + + + + + Raised when the user changes the selection in the dialog's view. + + + + + Raised when the dialog is opened to notify the application of the initial chosen filetype. + + + + + Raised when the dialog is opening. + + + + + Gets the collection of controls for the dialog. + + + + + Gets the filters used by the dialog. + + + + + Gets or sets the dialog title. + + A object. + + + + Gets or sets a value that determines whether the file must exist beforehand. + + A value. true if the file must exist. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that specifies whether the returned file must be in an existing folder. + + A value. true if the file must exist. + This property cannot be set when the dialog is visible. + + + Gets or sets a value that determines whether to validate file names. + + A value. true to check for situations that would prevent an application from opening the selected file, such as sharing violations or access denied errors. + This property cannot be set when the dialog is visible. + + + + + Gets or sets a value that determines whether read-only items are returned. + Default value for CommonOpenFileDialog is true (allow read-only files) and + CommonSaveFileDialog is false (don't allow read-only files). + + A value. true includes read-only items. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that determines the restore directory. + + + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether + to show or hide the list of pinned places that + the user can choose. + + A value. true if the list is visible; otherwise false. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether to show or hide the list of places where the user has recently opened or saved items. + + A value. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether to show hidden items. + + A value.true to show the items; otherwise false. + This property cannot be set when the dialog is visible. + + + + Gets or sets a value that controls whether + properties can be edited. + + A value. + + + + Gets or sets a value that controls whether shortcuts should be treated as their target items, allowing an application to open a .lnk file. + + A value. true indicates that shortcuts should be treated as their targets. + This property cannot be set when the dialog is visible. + + + + Gets or sets the default file extension to be added to file names. If the value is null + or string.Empty, the extension is not added to the file names. + + + + + Gets the index for the currently selected file type. + + + + + Tries to set the File(s) Type Combo to match the value in + 'DefaultExtension'. Only doing this if 'this' is a Save dialog + as it makes no sense to do this if only Opening a file. + + + The native/IFileDialog instance. + + + + + Gets the selected filename. + + A object. + This property cannot be used when multiple files are selected. + + + + Gets the selected item as a ShellObject. + + A object. + This property cannot be used when multiple files + are selected. + + + + Adds a location, such as a folder, library, search connector, or known folder, to the list of + places available for a user to open or save items. This method actually adds an item + to the Favorite Links or Places section of the Open/Save dialog. + + The item to add to the places list. + One of the enumeration values that indicates placement of the item in the list. + + + + Adds a location (folder, library, search connector, known folder) to the list of + places available for the user to open or save items. This method actually adds an item + to the Favorite Links or Places section of the Open/Save dialog. Overload method + takes in a string for the path. + + The item to add to the places list. + One of the enumeration values that indicates placement of the item in the list. + + + + Gets or sets the initial directory displayed when the dialog is shown. + A null or empty string indicates that the dialog is using the default directory. + + A object. + + + + Gets or sets a location that is always selected when the dialog is opened, + regardless of previous user action. A null value implies that the dialog is using + the default location. + + + + + Sets the folder and path used as a default if there is not a recently used folder value available. + + + + + Sets the location (ShellContainer + used as a default if there is not a recently used folder value available. + + + + + Gets or sets a value that enables a calling application + to associate a GUID with a dialog's persisted state. + + + + + Displays the dialog. + + Window handle of any top-level window that will own the modal dialog box. + A object. + + + + Displays the dialog. + + Top-level WPF window that will own the modal dialog box. + A object. + + + + Displays the dialog. + + A object. + + + + Removes the current selection. + + + + + Default file name. + + + + + Returns if change to the colleciton is allowed. + + true if collection change is allowed. + + + + Applies changes to the collection. + + + + + Determines if changes to a specific property are allowed. + + The name of the property. + The control propertyName applies to. + true if the property change is allowed. + + + + Called when a control currently in the collection + has a property changed. + + The name of the property changed. + The control whose property has changed. + + + + Ensures that the user has selected one or more files. + + + The dialog has not been dismissed yet or the dialog was cancelled. + + + + + Ensures that the user has selected one or more files. + + + The dialog has not been dismissed yet or the dialog was cancelled. + + + + + Throws an exception when the dialog is showing preventing + a requested change to a property or the visible set of controls. + + The message to include in the exception. + The dialog is in an + invalid state to perform the requested operation. + + + + Get the IFileDialogCustomize interface, preparing to add controls. + + + + + Raises the event just before the dialog is about to return with a result. + + The event data. + + + + Raises the to stop navigation to a particular location. + + Cancelable event arguments. + + + + Raises the event when the user navigates to a new folder. + + The event data. + + + + Raises the event when the user changes the selection in the dialog's view. + + The event data. + + + + Raises the event when the dialog is opened to notify the + application of the initial chosen filetype. + + The event data. + + + + Raises the event when the dialog is opened. + + The event data. + + + + Releases the unmanaged resources used by the CommonFileDialog class and optionally + releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Releases the resources used by the current instance of the CommonFileDialog class. + + + + + Indicates whether this feature is supported on the current platform. + + + + + Creates the push button controls used by the Common File Dialog. + + + + + Initializes a new instance of this class. + + + + + Initializes a new instance of this class with the text only. + + The text to display for this control. + + + + Initializes a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach the PushButton control to the dialog object + + Target dialog + + + + Occurs when the user clicks the control. This event is routed from COM via the event sink. + + + + + Creates the check button controls used by the Common File Dialog. + + + + + Gets or sets the state of the check box. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Creates a new instance of this class with the specified text and check state. + + The text to display for this control. + The check state of this control. + + + + Creates a new instance of this class with the specified name, text and check state. + + The name of this control. + The text to display for this control. + The check state of this control. + + + + Occurs when the user changes the check state. + + + + + Attach the CheckButton control to the dialog object. + + the target dialog + + + + Creates the ComboBox controls in the Common File Dialog. + + + + + Gets the collection of CommonFileDialogComboBoxItem objects. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + Text to display for this control + + + + Gets or sets the current index of the selected item. + + + + + Occurs when the SelectedIndex is changed. + + + + By initializing the SelectedIndexChanged event with an empty + delegate, it is not necessary to check + if the SelectedIndexChanged is not null. + + + + + + Raises the SelectedIndexChanged event if this control is + enabled. + + Because this method is defined in an interface, we can either + have it as public, or make it private and explicitly implement (like below). + Making it public doesn't really help as its only internal (but can't have this + internal because of the interface) + + + + + Attach the ComboBox control to the dialog object + + The target dialog + + + + Creates a ComboBoxItem for the Common File Dialog. + + + + + Gets or sets the string that is displayed for this item. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to use for the combo box item. + + + + Defines an abstract class that supports shared functionality for the + common file dialog controls. + + + + + Holds the text that is displayed for this control. + + + + + Gets or sets the text string that is displayed on the control. + + + + + Gets or sets a value that determines if this control is enabled. + + + + + Gets or sets a boolean value that indicates whether + this control is visible. + + + + + Has this control been added to the dialog + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the text. + + The text of the common file dialog control. + + + + Creates a new instance of this class with the specified name and text. + + The name of the common file dialog control. + The text of the common file dialog control. + + + + Attach the custom control itself to the specified dialog + + the target dialog + + + + Provides a strongly typed collection for dialog controls. + + DialogControl + + + + Inserts an dialog control at the specified index. + + The location to insert the control. + The item to insert. + A control with + the same name already exists in this collection -or- + the control is being hosted by another dialog -or- the associated dialog is + showing and cannot be modified. + + + + Removes the control at the specified index. + + The location of the control to remove. + + The associated dialog is + showing and cannot be modified. + + + + Defines the indexer that supports accessing controls by name. + + + Control names are case sensitive. + This indexer is useful when the dialog is created in XAML + rather than constructed in code. + + The name cannot be null or a zero-length string. + If there is more than one control with the same name, only the first control will be returned. + + + + Recursively searches for the control who's id matches the value + passed in the parameter. + + + An integer containing the identifier of the + control being searched for. + + A DialogControl who's id matches the value of the + parameter. + + + + + Recursively searches for a given control id in the + collection passed via the parameter. + + + A Collection<CommonFileDialogControl> + An int containing the identifier of the control + being searched for. + + A DialogControl who's Id matches the value of the + parameter. + + + + + Represents a group box control for the Common File Dialog. + note + + + + Gets the collection of controls for this group box. + + + + + Creates a new instance of this class. + + + + + Create a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Initializes the item collection for this class. + + + + + Attach the GroupBox control to the dialog object + + Target dialog + + + + Defines the label controls in the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach this control to the dialog object + + Target dialog + + + + Defines the menu controls for the Common File Dialog. + + + + + Gets the collection of CommonFileDialogMenuItem objects. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Attach the Menu control to the dialog object. + + the target dialog + + + + Creates the CommonFileDialogMenuItem items for the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Occurs when a user clicks a menu item. + + + + + Attach this control to the dialog object + + Target dialog + + + + Defines the properties and constructors for all prominent controls in the Common File Dialog. + + + + + Gets or sets the prominent value of this control. + + Only one control can be specified as prominent. If more than one control is specified prominent, + then an 'E_UNEXPECTED' exception will be thrown when these controls are added to the dialog. + A group box control can only be specified as prominent if it contains one control and that control is of type 'CommonFileDialogProminentControl'. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Represents a radio button list for the Common File Dialog. + + + + + Gets the collection of CommonFileDialogRadioButtonListItem objects + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this control. + + + + Gets or sets the current index of the selected item. + + + + + Occurs when the user changes the SelectedIndex. + + + + By initializing the SelectedIndexChanged event with an empty + delegate, we can skip the test to determine + if the SelectedIndexChanged is null. + test. + + + + + Occurs when the user changes the SelectedIndex. + + Because this method is defined in an interface, we can either + have it as public, or make it private and explicitly implement (like below). + Making it public doesn't really help as its only internal (but can't have this + internal because of the interface) + + + + + Attach the RadioButtonList control to the dialog object + + The target dialog + + + + Represents a list item for the CommonFileDialogRadioButtonList object. + + + + + Gets or sets the string that will be displayed for this list item. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The string that you want to display for this list item. + + + + Defines the class for the simplest separator controls. + + + + + Attach the Separator control to the dialog object + + Target dialog + + + + Defines the text box controls in the Common File Dialog. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified text. + + The text to display for this control. + + + + Creates a new instance of this class with the specified name and text. + + The name of this control. + The text to display for this control. + + + + Gets or sets a value for the text string contained in the CommonFileDialogTextBox. + + + + + Holds an instance of the customized (/native) dialog and should + be null until after the Attach() call is made. + + + + + Attach the TextBox control to the dialog object + + Target dialog + + + + Specifies a property, event and method that indexed controls need + to implement. + + + + not sure where else to put this, so leaving here for now. + + + + + Stores the file extensions used when filtering files in File Open and File Save dialogs. + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified display name and + file extension list. + + The name of this filter. + The list of extensions in + this filter. See remarks. + The can use a semicolon(";") + or comma (",") to separate extensions. Extensions can be prefaced + with a period (".") or with the file wild card specifier "*.". + + The cannot be null or a + zero-length string. + + + + + Gets or sets the display name for this filter. + + + The value for this property cannot be set to null or a + zero-length string. + + + + + Gets a collection of the individual extensions + described by this filter. + + + + + Gets or sets a value that controls whether the extensions are displayed. + + + + + Internal helper that generates a single filter + specification for this filter, used by the COM API. + + Filter specification for this filter + + + + + Returns a string representation for this filter that includes + the display name and the list of extensions. + + A . + + + + Provides a strongly typed collection for file dialog filters. + + + + + Creates the event data associated with event. + + + + + + Creates a new instance of this class. + + The name of the folder. + + + + Gets or sets the name of the folder. + + + + + Specifies identifiers to indicate the return value of a CommonFileDialog dialog. + + + + + Default value for enumeration, a dialog box should never return this value. + + + + + The dialog box return value is OK (usually sent from a button labeled OK or Save). + + + + + The dialog box return value is Cancel (usually sent from a button labeled Cancel). + + + + + Defines the class of commonly used file filters. + + + + + Gets a value that specifies the filter for *.txt files. + + + + + Gets a value that specifies the filter for picture files. + + + + + Gets a value that specifies the filter for Microsoft Office files. + + + + + Creates a Vista or Windows 7 Common File Dialog, allowing the user to select one or more files. + + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this dialog. + + + + Gets a collection of the selected file names. + + This property should only be used when the + + property is true. + + + + Gets a collection of the selected items as ShellObject objects. + + This property should only be used when the + + property is true. + + + + Gets or sets a value that determines whether the user can select more than one file. + + + + + Gets or sets a value that determines whether the user can select folders or files. + Default value is false. + + + + + Gets or sets a value that determines whether the user can select non-filesystem items, + such as Library, Search Connectors, or Known Folders. + + + + + Creates a Vista or Windows 7 Common File Dialog, allowing the user to select the filename and location for a saved file. + + + to save a file. Associated enumeration: . + + + + + Creates a new instance of this class. + + + + + Creates a new instance of this class with the specified name. + + The name of this dialog. + + + + Gets or sets a value that controls whether to prompt before + overwriting an existing file of the same name. Default value is true. + + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether to prompt for creation if the item returned in the save dialog does not exist. + + Note that this does not actually create the item. + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether to the save dialog + displays in expanded mode. + + Expanded mode controls whether the dialog + shows folders for browsing or hides them. + + This property cannot be changed when the dialog is showing. + + + + + Gets or sets a value that controls whether the + returned file name has a file extension that matches the + currently selected file type. If necessary, the dialog appends the correct + file extension. + + + This property cannot be changed when the dialog is showing. + + + + + Sets an item to appear as the initial entry in a Save As dialog. + + The initial entry to be set in the dialog. + The name of the item is displayed in the file name edit box, + and the containing folder is opened in the view. This would generally be + used when the application is saving an item that already exists. + + + + Specifies which properties will be collected in the save dialog. + + True to show default properties for the currently selected + filetype in addition to the properties specified by propertyList. False to show only properties + specified by pList. + List of properties to collect. This parameter can be null. + + + SetCollectedPropertyKeys can be called at any time before the dialog is displayed or while it + is visible. If different properties are to be collected depending on the chosen filetype, + then SetCollectedProperties can be called in response to CommonFileDialog::FileTypeChanged event. + Note: By default, no properties are collected in the save dialog. + + + + + Retrieves the set of property values for a saved item or an item in the process of being saved. + + Collection of property values collected from the save dialog + This property can be called while the dialog is showing to retrieve the current + set of values in the metadata collection pane. It can also be called after the dialog + has closed, to retrieve the final set of values. The call to this method will fail + unless property collection has been turned on with a call to SetCollectedPropertyKeys method. + + + + + Sets the specified iconic thumbnail for the specified window. + This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + + + + Sets the specified peek (live preview) bitmap for the specified + window. This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + Whether to display a standard window + frame around the bitmap. + + + + Sets the specified peek (live preview) bitmap for the specified + window. This is typically done in response to a DWM message. + + The window handle. + The thumbnail bitmap. + The client area offset at which to display + the specified bitmap. The rest of the parent window will be + displayed as "remembered" by the DWM. + Whether to display a standard window + frame around the bitmap. + + + + Call this method to either enable custom previews on the taskbar (second argument as true) + or to disable (second argument as false). If called with True, the method will call DwmSetWindowAttribute + for the specific window handle and let DWM know that we will be providing a custom bitmap for the thumbnail + as well as Aero peek. + + + + + + + Represents a collection of custom categories + + + + + Event to trigger anytime this collection is modified + + + + + Determines if this collection is read-only + + + + + The number of items in this collection + + + + + Add the specified category to this collection + + Category to add + + + + Remove the specified category from this collection + + Category item to remove + True if item was removed. + + + + Clear all items from the collection + + + + + Determine if this collection contains the specified item + + Category to search for + True if category was found + + + + Copy this collection to a compatible one-dimensional array, + starting at the specified index of the target array + + Array to copy to + Index of target array to start copy + + + + Returns an enumerator that iterates through this collection. + + Enumerator to iterate through this collection. + + + + Returns an enumerator that iterates through this collection. + + Enumerator to iterate through this collection. + + + + Represents a collection of jump list items. + + The type of elements in this collection. + + + + Occurs anytime a change is made to the underlying collection. + + + + + Gets or sets a value that determines if this collection is read-only. + + + + + Gets a count of the items currently in this collection. + + + + + Adds the specified item to this collection. + + The item to add. + + + + Removes the first instance of the specified item from the collection. + + The item to remove. + true if an item was removed, otherwise false if no items were removed. + + + + Clears all items from this collection. + + + + + Determines if this collection contains the specified item. + + The search item. + true if an item was found, otherwise false. + + + + Copies this collection to a compatible one-dimensional array, + starting at the specified index of the target array. + + The array name. + The index of the starting element. + + + + Returns an enumerator that iterates through a collection. + + An enumerator to iterate through this collection. + + + + Returns an enumerator that iterates through a collection of a specified type. + + An enumerator to iterate through this collection. + + + + Represents a jump list link object. + + + + + Initializes a new instance of a JumpListLink with the specified path. + + The path to the item. The path is required for the JumpList Link + The title for the JumpListLink item. The title is required for the JumpList link. + + + + Gets or sets the link's title + + + + + Gets or sets the link's path + + + + + Gets or sets the icon reference (location and index) of the link's icon. + + + + + Gets or sets the object's arguments (passed to the command line). + + + + + Gets or sets the object's working directory. + + + + + Gets or sets the show command of the lauched application. + + + + + Gets an IShellLinkW representation of this object + + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Represents a separator in the user task list. The JumpListSeparator control + can only be used in a user task list. + + + + + Gets an IShellLinkW representation of this object + + + + + Release the native and managed objects + + Indicates that this is being called from Dispose(), rather than the finalizer. + + + + Release the native objects. + + + + + Implement the finalizer. + + + + + Event args for when close is selected on a tabbed thumbnail proxy window. + + + + + Creates a Event Args for a specific tabbed thumbnail event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a specific tabbed thumbnail event. + + WPF Control (UIElement) related to the event + + + + If set to true, the proxy window will not be removed from the taskbar. + + + + + Helper class to capture a control or window as System.Drawing.Bitmap + + + + + Captures a screenshot of the specified window at the specified + bitmap size. NOTE: This method will not accurately capture controls + that are hidden or obstructed (partially or completely) by another control (e.g. hidden tabs, + or MDI child windows that are obstructed by other child windows/forms). + + The window handle. + The requested bitmap size. + A screen capture of the window. + + + + Grabs a snapshot of a WPF UIElement and returns the image as Bitmap. + + Represents the element to take the snapshot from. + Represents the X DPI value used to capture this snapshot. + Represents the Y DPI value used to capture this snapshot. + The requested bitmap width. + The requested bitmap height. + Returns the bitmap (PNG format). + + + + Resizes the given bitmap while maintaining the aspect ratio. + + Original/source bitmap + Maximum width for the new image + Maximum height for the new image + If true and requested image is wider than the source, the new image is resized accordingly. + + + + + Represents the main class for adding and removing tabbed thumbnails on the Taskbar + for child windows and controls. + + + + + Internal dictionary to keep track of the user's window handle and its + corresponding thumbnail preview objects. + + + + + Internal constructor that creates a new dictionary for keeping track of the window handles + and their corresponding thumbnail preview objects. + + + + + Adds a new tabbed thumbnail to the taskbar. + + Thumbnail preview for a specific window handle or control. The preview + object can be initialized with specific properties for the title, bitmap, and tooltip. + If the tabbed thumbnail has already been added + + + + Gets the TabbedThumbnail object associated with the given window handle + + Window handle for the control/window + TabbedThumbnail associated with the given window handle + + + + Gets the TabbedThumbnail object associated with the given control + + Specific control for which the preview object is requested + TabbedThumbnail associated with the given control + + + + Gets the TabbedThumbnail object associated with the given WPF Window + + WPF Control (UIElement) for which the preview object is requested + TabbedThumbnail associated with the given WPF Window + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the control/window that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the window handle that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the control that + is to be removed from the taskbar + + + + Remove the tabbed thumbnail from the taskbar. + + TabbedThumbnail associated with the WPF Control (UIElement) that + is to be removed from the taskbar + + + + Sets the given tabbed thumbnail preview object as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + TabbedThumbnail for the specific control/indow that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given window handle as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + Window handle for the control/window that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given Control/Form window as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + Control/Form that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Sets the given WPF window as being active on the taskbar tabbed thumbnails list. + Call this method to keep the application and the taskbar in sync as to which window/control + is currently active (or selected, in the case of tabbed application). + + WPF control that is currently active in the application + If the control/window is not yet added to the tabbed thumbnails list + + + + Determines whether the given preview has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given window has been added to the taskbar's tabbed thumbnail list. + + The window to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given control has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Determines whether the given control has been added to the taskbar's tabbed thumbnail list. + + The preview to locate on the taskbar's tabbed thumbnail list + true if the tab is already added on the taskbar; otherwise, false. + + + + Invalidates all the tabbed thumbnails. This will force the Desktop Window Manager + to not use the cached thumbnail or preview or aero peek and request a new one next time. + + This method should not be called frequently. + Doing so can lead to poor performance as new bitmaps are created and retrieved. + + + + Clear a clip that is already in place and return to the default display of the thumbnail. + + The handle to a window represented in the taskbar. This has to be a top-level window. + + + + Selects a portion of a window's client area to display as that window's thumbnail in the taskbar. + + The handle to a window represented in the taskbar. This has to be a top-level window. + Rectangle structure that specifies a selection within the window's client area, + relative to the upper-left corner of that client area. + If this parameter is null, the clipping area will be cleared and the default display of the thumbnail will be used instead. + + + + Moves an existing thumbnail to a new position in the application's group. + + Preview for the window whose order is being changed. + This value is required, must already be added via AddThumbnailPreview method, and cannot be null. + The preview of the tab window whose thumbnail that previewToChange is inserted to the left of. + This preview must already be added via AddThumbnailPreview. If this value is null, the previewToChange tab is added to the end of the list. + + + + + Event args for the TabbedThumbnailBitmapRequested event. The event allows applications to + provide a bitmap for the tabbed thumbnail's preview and peek. The application should also + set the Handled property if a custom bitmap is provided. + + + + + Creates a Event Args for a TabbedThumbnailBitmapRequested event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a TabbedThumbnailBitmapRequested event. + + WPF Control (UIElement) related to the event + + + + Gets or sets a value indicating whether the TabbedThumbnailBitmapRequested event was handled. + Set this property if the SetImage method is called with a custom bitmap for the thumbnail/peek. + + + + + Event args for various Tabbed Thumbnail related events + + + + + Creates a Event Args for a specific tabbed thumbnail event. + + Window handle for the control/window related to the event + + + + Creates a Event Args for a specific tabbed thumbnail event. + + WPF Control (UIElement) related to the event + + + + Gets the Window handle for the specific control/window that is related to this event. + + For WPF Controls (UIElement) the WindowHandle will be IntPtr.Zero. + Check the WindowsControl property to get the specific control associated with this event. + + + + Gets the WPF Control (UIElement) that is related to this event. This property may be null + for non-WPF applications. + + + + + Represents a tabbed thumbnail on the taskbar for a given window or a control. + + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a child control/window's handle (e.g. TabPage or Panel) + + Window handle of the parent window. + This window has to be a top-level window and the handle cannot be null or IntPtr.Zero + Window handle of the child control or window for which a tabbed + thumbnail needs to be displayed + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a child control (e.g. TabPage or Panel) + + Window handle of the parent window. + This window has to be a top-level window and the handle cannot be null or IntPtr.Zero + Child control for which a tabbed thumbnail needs to be displayed + This method can also be called when using a WindowsFormHost control in a WPF application. + Call this method with the main WPF Window's handle, and windowsFormHost.Child control. + + + + Creates a new TabbedThumbnail with the given window handle of the parent and + a WPF child Window. For WindowsFormHost control, use TabbedThumbnail(IntPtr, Control) overload and pass + the WindowsFormHost.Child as the second parameter. + + Parent window for the UIElement control. + This window has to be a top-level window and the handle cannot be null + WPF Control (UIElement) for which a tabbed thumbnail needs to be displayed + Offset point used for displaying the peek bitmap. This setting is + recomended for hidden WPF controls as it is difficult to calculate their offset. + + + + Title for the window shown as the taskbar thumbnail. + + + + + Tooltip to be shown for this thumbnail on the taskbar. + By default this is full title of the window shown on the taskbar. + + + + + Sets the window icon for this thumbnail preview + + System.Drawing.Icon for the window/control associated with this preview + + + + Sets the window icon for this thumbnail preview + + Icon handle (hIcon) for the window/control associated with this preview + This method will not release the icon handle. It is the caller's responsibility to release the icon handle. + + + + Specifies that only a portion of the window's client area + should be used in the window's thumbnail. + A value of null will clear the clipping area and use the default thumbnail. + + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + The image to use. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + The image to use. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Override the thumbnail and peek bitmap. + By providing this bitmap manually, Thumbnail Window manager will provide the + Desktop Window Manager (DWM) this bitmap instead of rendering one automatically. + Use this property to update the bitmap whenever the control is updated and the user + needs to be shown a new thumbnail on the taskbar preview (or aero peek). + + A bitmap handle for the image to use. + When the TabbedThumbnail is finalized, this class will delete the provided hBitmap. + + If the bitmap doesn't have the right dimensions, the DWM may scale it or not + render certain areas as appropriate - it is the user's responsibility + to render a bitmap with the proper dimensions. + + + + + Specifies whether a standard window frame will be displayed + around the bitmap. If the bitmap represents a top-level window, + you would probably set this flag to true. If the bitmap + represents a child window (or a frameless window), you would + probably set this flag to false. + + + + + Invalidate any existing thumbnail preview. Calling this method + will force DWM to request a new bitmap next time user previews the thumbnails + or requests Aero peek preview. + + + + + Gets or sets the offset used for displaying the peek bitmap. This setting is + recomended for hidden WPF controls as it is difficult to calculate their offset. + + + + + This event is raised when the Title property changes. + + + + + This event is raised when the Tooltip property changes. + + + + + The event that occurs when a tab is closed on the taskbar thumbnail preview. + + + + + The event that occurs when a tab is maximized via the taskbar thumbnail preview (context menu). + + + + + The event that occurs when a tab is minimized via the taskbar thumbnail preview (context menu). + + + + + The event that occurs when a tab is activated (clicked) on the taskbar thumbnail preview. + + + + + The event that occurs when a thumbnail or peek bitmap is requested by the user. + + + + + Returns true if the thumbnail was removed from the taskbar; false if it was not. + + Returns true if the thumbnail was removed from the taskbar; false if it was not. + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + + + + + + Release the native objects. + + + + + Known category to display + + + + + Don't display either known category. You must have at least one + user task or custom category link in order to not see the + default 'Recent' known category + + + + + Display the 'Recent' known category + + + + + Display the 'Frequent' known category + + + + + Represents the thumbnail progress bar state. + + + + + No progress is displayed. + + + + + The progress is indeterminate (marquee). + + + + + Normal progress is displayed. + + + + + An error occurred (red). + + + + + The operation is paused (yellow). + + + + + WPARAM value for a THUMBBUTTON being clicked. + + + + + Sets the window's application id by its window handle. + + The window handle. + The application id. + + + + Thumbnail Alpha Types + + + + + Let the system decide. + + + + + No transparency + + + + + Has transparency + + + + + Represents a custom category on the taskbar's jump list + + + + + Category name + + + + + Add JumpList items for this category + + The items to add to the JumpList. + + + + Event that is triggered when the jump list collection is modified + + + + + Creates a new custom category instance + + Category name + + + + Represents an instance of a Taskbar button jump list. + + + + + Create a JumpList for the application's taskbar button. + + A new JumpList that is associated with the app id of the main application window + If there are any other child (top-level) windows for this application and they don't have + a specific JumpList created for them, they all will share the same JumpList as the main application window. + In order to have a individual JumpList for a top-level window, use the overloaded method CreateJumpListForIndividualWindow. + + + + Create a JumpList for the application's taskbar button. + + Application Id for the individual window. This must be unique for each top-level window in order to have a individual JumpList. + Handle of the window associated with the new JumpList + A new JumpList that is associated with the specific window handle + + + + Create a JumpList for the application's taskbar button. + + Application Id for the individual window. This must be unique for each top-level window in order to have a individual JumpList. + WPF Window associated with the new JumpList + A new JumpList that is associated with the specific WPF window + + + + Adds a collection of custom categories to the Taskbar jump list. + + The catagories to add to the jump list. + + + + Adds user tasks to the Taskbar JumpList. User tasks can only consist of JumpListTask or + JumpListSeparator objects. + + The user tasks to add to the JumpList. + + + + Removes all user tasks that have been added. + + + + + Gets the recommended number of items to add to the jump list. + + + This number doesn’t + imply or suggest how many items will appear on the jump list. + This number should only be used for reference purposes since + the actual number of slots in the jump list can change after the last + refresh due to items being pinned or removed and resolution changes. + The jump list can increase in size accordingly. + + + + + Gets or sets the type of known categories to display. + + + + + Gets or sets the value for the known category location relative to the + custom category collection. + + + + + Gets or sets the application ID to use for this jump list. + + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the main window of the application. + + Application Id to use for this instace. + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the given WPF Window. + + Application Id to use for this instace. + WPF Window that is associated with this JumpList + + + + Creates a new instance of the JumpList class with the specified + appId. The JumpList is associated with the given window. + + Application Id to use for this instace. + Window handle for the window that is associated with this JumpList + + + + Reports document usage to the shell. + + The full path of the file to report usage. + + + + Commits the pending JumpList changes and refreshes the Taskbar. + + Will throw if the type of the file being added to the JumpList is not registered with the application. + Will throw if recent documents tracking is turned off by the user or via group policy. + Will throw if updating the JumpList fails for any other reason. + + + + Occurs when items are removed from the Taskbar's jump list since the last + refresh. + + + This event is not triggered + immediately when a user removes an item from the jump list but rather + when the application refreshes the task bar list directly. + + + + + Retrieves the current list of destinations that have been removed from the existing jump list by the user. + The removed destinations may become items on a custom jump list. + + A collection of items (filenames) removed from the existing jump list by the user. + + + + Represents a jump list item. + + + + + Creates a jump list item with the specified path. + + The path to the jump list item. + The file type should associate the given file + with the calling application. + + + + Gets or sets the target path for this jump list item. + + + + + Provides internal access to the functions provided by the ITaskbarList4 interface, + without being forced to refer to it through another singleton. + + + + + Represents an instance of the Windows taskbar + + + + + Represents an instance of the Windows Taskbar + + + + + Applies an overlay to a taskbar button of the main application window to indicate application status or a notification to the user. + + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Applies an overlay to a taskbar button of the given window handle to indicate application status or a notification to the user. + + The handle of the window whose associated taskbar button receives the overlay. This handle must belong to a calling process associated with the button's application and must be a valid HWND or the call is ignored. + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Applies an overlay to a taskbar button of the given WPF window to indicate application status or a notification to the user. + + The window whose associated taskbar button receives the overlay. This window belong to a calling process associated with the button's application and must be already loaded. + The overlay icon + String that provides an alt text version of the information conveyed by the overlay, for accessibility purposes + + + + Displays or updates a progress bar hosted in a taskbar button of the main application window + to show the specific percentage completed of the full operation. + + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Displays or updates a progress bar hosted in a taskbar button of the given window handle + to show the specific percentage completed of the full operation. + + The handle of the window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Displays or updates a progress bar hosted in a taskbar button of the given WPF window + to show the specific percentage completed of the full operation. + + The window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + An application-defined value that indicates the proportion of the operation that has been completed at the time the method is called. + An application-defined value that specifies the value currentValue will have when the operation is complete. + + + + Sets the type and state of the progress indicator displayed on a taskbar button of the main application window. + + Progress state of the progress button + + + + Sets the type and state of the progress indicator displayed on a taskbar button + of the given window handle + + The handle of the window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + Progress state of the progress button + + + + Sets the type and state of the progress indicator displayed on a taskbar button + of the given WPF window + + The window whose associated taskbar button is being used as a progress indicator. + This window belong to a calling process associated with the button's application and must be already loaded. + Progress state of the progress button + + + + Gets the Tabbed Thumbnail manager class for adding/updating + tabbed thumbnail previews. + + + + + Gets the Thumbnail toolbar manager class for adding/updating + toolbar buttons. + + + + + Gets or sets the application user model id. Use this to explicitly + set the application id when generating custom jump lists + + + + + Sets the handle of the window whose taskbar button will be used + to display progress. + + + + + Sets the application user model id for an individual window + + The app id to set + Window handle for the window that needs a specific application id + AppId specifies a unique Application User Model ID (AppID) for the application or individual + top-level window whose taskbar button will hold the custom JumpList built through the methods class. + By setting an appId for a specific window, the window will not be grouped with it's parent window/application. Instead it will have it's own taskbar button. + + + + Sets the application user model id for a given window + + The app id to set + Window that needs a specific application id + AppId specifies a unique Application User Model ID (AppID) for the application or individual + top-level window whose taskbar button will hold the custom JumpList built through the methods class. + By setting an appId for a specific window, the window will not be grouped with it's parent window/application. Instead it will have it's own taskbar button. + + + + Sets the current process' explicit application user model id. + + The application id. + + + + Gets the current process' explicit application user model id. + + The app id or null if no app id has been defined. + + + + Indicates if the user has set the application id for the whole process (all windows) + + + + + Indicates whether this feature is supported on the current platform. + + + + + Interface for jump list items + + + + + Gets or sets this item's path + + + + + Interface for jump list tasks + + + + + + + + + + Release the native objects. + + + + + Dispatches a window message so that the appropriate events + can be invoked. This is used for the Taskbar's thumbnail toolbar feature. + + The window message, typically obtained + from a Windows Forms or WPF window procedure. + Taskbar window for which we are intercepting the messages + Returns true if this method handles the window message + + + + Helper function to capture a bitmap for a given window handle or incase of WPF app, + an UIElement. + + The proxy window for which a bitmap needs to be created + Size for the requested bitmap image + Bitmap captured from the window handle or UIElement. Null if the window is hidden or it's size is zero. + + + + Represents a taskbar thumbnail button in the thumbnail toolbar. + + + + + The event that occurs when the taskbar thumbnail button + is clicked. + + + + + Initializes an instance of this class + + The icon to use for this button + The tooltip string to use for this button. + + + + Gets thumbnail button's id. + + + + + Gets or sets the thumbnail button's icon. + + + + + Gets or sets the thumbnail button's tooltip. + + + + + Gets or sets the thumbnail button's visibility. Default is true. + + + + + Gets or sets the thumbnail button's enabled state. If the button is disabled, it is present, + but has a visual state that indicates that it will not respond to user action. Default is true. + + + + + Gets or sets the property that describes the behavior when the button is clicked. + If set to true, the taskbar button's flyout will close immediately. Default is false. + + + + + Gets or sets the property that describes whether the button is interactive with the user. Default is true. + + + Non-interactive buttons don't display any hover behavior nor do they raise click events. + They are intended to be used as status icons. This is mostly similar to being not Enabled, + but the image is not desaturated. + + + + + Native flags enum (used when creating the native button) + + + + + Native representation of the thumbnail button + + + + + The window manager should call this method to raise the public click event to all + the subscribers. + + Taskbar Window associated with this button + + + + Handle to the window to which this button is for (on the taskbar). + + + + + Indicates if this button was added to the taskbar. If it's not yet added, + then we can't do any updates on it. + + + + + + + + + + Release the native objects. + + + + + Release the native objects. + + + + + + Event args for TabbedThumbnailButton.Click event + + + + + Creates a Event Args for the TabbedThumbnailButton.Click event + + Window handle for the control/window related to the event + Thumbnail toolbar button that was clicked + + + + Creates a Event Args for the TabbedThumbnailButton.Click event + + WPF Control (UIElement) related to the event + Thumbnail toolbar button that was clicked + + + + Gets the Window handle for the specific control/window that is related to this event. + + For WPF Controls (UIElement) the WindowHandle will be IntPtr.Zero. + Check the WindowsControl property to get the specific control associated with this event. + + + + Gets the WPF Control (UIElement) that is related to this event. This property may be null + for non-WPF applications. + + + + + Gets the ThumbnailToolBarButton that was clicked + + + + + Thumbnail toolbar manager class for adding a thumbnail toolbar with a specified set of buttons + to the thumbnail image of a window in a taskbar button flyout. + + + + + Adds thumbnail toolbar for the specified window. + + Window handle for which the thumbnail toolbar buttons need to be added + Thumbnail buttons for the window's thumbnail toolbar + If the number of buttons exceed the maximum allowed capacity (7). + If the Window Handle passed in invalid + After a toolbar has been added to a thumbnail, buttons can be altered only through various + properties on the . While individual buttons cannot be added or removed, + they can be shown and hidden through as needed. + The toolbar itself cannot be removed without re-creating the window itself. + + + + + Adds thumbnail toolbar for the specified WPF Control. + + WPF Control for which the thumbnail toolbar buttons need to be added + Thumbnail buttons for the window's thumbnail toolbar + If the number of buttons exceed the maximum allowed capacity (7). + If the control passed in null + After a toolbar has been added to a thumbnail, buttons can be altered only through various + properties on the ThumbnailToolBarButton. While individual buttons cannot be added or removed, + they can be shown and hidden through ThumbnailToolBarButton.Visible as needed. + The toolbar itself cannot be removed without re-creating the window itself. + + + + + + + + + + Release the native objects. + + + + + Event arguments for when the user is notified of items + that have been removed from the taskbar destination list + + + + + The collection of removed items based on path. + + + + + Internal class that contains interop declarations for + functions that are not benign and are performance critical. + + + + + This provides a connection point container compatible dispatch interface for + hooking into the ExplorerBrowser view. + + + + + Default constructor for ExplorerBrowserViewEvents + + + + + The view selection has changed + + + + + The contents of the view have changed + + + + + The enumeration of files in the view is complete + + + + + The selected item in the view has changed (not the same as the selection has changed) + + + + + Finalizer for ExplorerBrowserViewEvents + + + + + Disconnects and disposes object. + + + + + Disconnects and disposes object. + + + + + diff --git a/ThirdParty/Microsoft.WindowsAPICodePack.Shell.dll b/ThirdParty/Microsoft.WindowsAPICodePack.Shell.dll new file mode 100644 index 0000000000000000000000000000000000000000..3193494606ae070960cb8240f56503aa537ea0d9 GIT binary patch literal 563200 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%0AB1K#76ERyu>|> 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 ABme*a literal 0 HcmV?d00001