Export (0) Print
Expand All

typeInfo

Specifies a property's type information. There should be only one typeInfo element for each propertyDescription. This element has changed for Windows 7.

If there are multiple elements, the last one is used. If no typeInfo element is provided, then the default attribute settings are applied to the property description.

Syntax for Windows 7


<!-- typeInfo for Windows 7-->
<xs:element name="typeInfo">
    <xs:complexType>
        <xs:attribute name="type" default="Any">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Any"/>
                    <xs:enumeration value="Null"/>
                    <xs:enumeration value="String"/>
                    <xs:enumeration value="Boolean"/>
                    <xs:enumeration value="Byte"/>
                    <xs:enumeration value="Buffer"/>
                    <xs:enumeration value="Int16"/>
                    <xs:enumeration value="UInt16"/>
                    <xs:enumeration value="Int32"/>
                    <xs:enumeration value="UInt32"/>
                    <xs:enumeration value="Int64"/>
                    <xs:enumeration value="UInt64"/>
                    <xs:enumeration value="Double"/>
                    <xs:enumeration value="DateTime"/>
                    <xs:enumeration value="Guid"/>
                    <xs:enumeration value="Blob"/>
                    <xs:enumeration value="Stream"/>
                    <xs:enumeration value="Clipboard"/>
                    <xs:enumeration value="Object"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="groupingRange">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Discrete"/>
                    <xs:enumeration value="Alphanumeric"/>
                    <xs:enumeration value="Size"/>
                    <xs:enumeration value="Date"/>
                    <xs:enumeration value="Dynamic"/>
                    <xs:enumeration value="Percent"/>
                    <xs:enumeration value="Enumerated"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="isInnate" type="xs:boolean" default="false"/>
        <xs:attribute name="canBePurged" type="xs:boolean"/>
        <xs:attribute name="multipleValues" type="xs:boolean" default="false"/>
        <xs:attribute name="isGroup" type="xs:boolean" default="false"/>
        <xs:attribute name="aggregationType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Default"/>
                    <xs:enumeration value="First"/>
                    <xs:enumeration value="Sum"/>
                    <xs:enumeration value="Average"/>
                    <xs:enumeration value="DateRange"/>
                    <xs:enumeration value="Union"/>
                    <xs:enumeration value="Maximum"/>
                    <xs:enumeration value="Minimum"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="isTreeProperty" type="xs:boolean" default="false"/>
        <xs:attribute name="isViewable" type="xs:boolean" default="false"/>
        <xs:attribute name="isQueryable" type="xs:boolean" default="false"/>
        <xs:attribute name="includeInFullTextQuery" type="xs:boolean" default="false"/>
        <xs:attribute name="searchRawValue" type="xs:boolean" default="false"/>
        <xs:attribute name="conditionType">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="None"/>
                    <xs:enumeration value="String"/>
                    <xs:enumeration value="Number"/>
                    <xs:enumeration value="DateTime"/>
                    <xs:enumeration value="Boolean"/>
                    <xs:enumeration value="Size"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="defaultOperation">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="Equal"/>
                    <xs:enumeration value="NotEqual"/>
                    <xs:enumeration value="LessThan"/>
                    <xs:enumeration value="GreaterThan"/>
                    <xs:enumeration value="Contains"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>

Element Information

Parent ElementChild Elements
propertyDescription None

 

Attributes

AttributeDescription
typePublic. Optional. Default is "Any". Indicates the type of the property. The following are valid types and their associated variant types are retrieved by IPropertyDescription::GetPropertyType.

ValueMeaning
AnyDefault. The property subsystem will not enforce or coerce the property value. IPropertyDescription::GetPropertyType returns VT_NULL. Independent software vendors (ISVs) are strongly encouraged to provide a type rather than fall back on this default.
NullThere is no value for this property. IPropertyDescription::GetPropertyType returns VT_NULL.
StringThe value must be a VT_LPWSTR, which is a Unicode string terminated by a null reference.
BooleanThe value must be a VT_BOOL, which is a boolean.
ByteThe value must be a VT_UI1, which is a byte.
BufferThe value must be a VT_UI1 | VT_VECTOR buffer of bytes.
Int16The value must be a VT_I2, which is a 16-bit integer.
UInt16The value must be a VT_UI2, which is a 16-bit unsigned integer.
Int32The value must be a VT_I4, which is a 32-bit integer.
UInt32The value must be a VT_UI4, which is a 32-bit unsigned integer.
Int64The value must be a VT_I8, which is a 64-bit integer.
UInt64The value must be a VT_UI8, which is a 64-bit unsigned integer.
DoubleThe value must be a VT_R8, which is a double.
DateTimeThe value must be a VT_FILETIME, which is a FILETIME.
GuidThe value must be a VT_CLSID, which is a class identifier (CLSID).
BlobThe value must be a VT_BLOB, which are length-prefixed bytes.
StreamThe value must be a VT_STREAM, which is an object that implements IStream.
ClipboardThe value must be a VT_CF, which is a clipboard format.
ObjectThe value must be a VT_UNKNOWN, which is an object that implements IUnknown.

 

groupingRangeOptional. Default is "Discrete". Specifies how the property is displayed when a view is grouped by this property. Once set here, these values are retrieved by IPropertyDescription::GetGroupingRange. The following are valid types.

ValueMeaning
DiscreteDefault. Displays individual values.
AlphanumericDisplays static alphanumeric ranges for values.
SizeDisplays static size ranges for values.
DateDisplays month/year groups. Default for properties of type="DateTime".
TimeRelativeDisplays in time-relative groups.
DynamicDisplays dynamically created ranges for the values.
PercentDisplays percent buckets.

 

isInnatePublic. Optional. Default is "false". Specifies whether the property is considered innate. An innate property is one which is either calculated from the content of a file, or from other resources or systems. For example, System.Size is an innate property provided by the file system; changing the value of the property in and of itself does nothing. Other examples are System.Image.Dimensions and System.Document.PageCount, which are calculated by programs based upon the content of the file, not based upon a user-changeable setting. Setting isInnate="true" means the user cannot edit this property directly via a property control. This value maps to the PDTF_ISINNATE flag defined in PROPDESC_TYPE_FLAGS and used in IPropertyDescription::GetTypeFlags.
canBePurgedWindows Vista with Service Pack 1 (SP1) and later only. Public. Optional. When set to "true", allows an innate property to be deleted. Innate properties, which are calculated from other properties, are read-only by definition. The default value for this attribute depends on the isInnate value.

isInnatecanBePurged Default Value
truefalse
falsetrue

 

Note  A property whose isInnate value is "false" (meaning that the property is read/write) cannot also set the canBePurged value to "false". This restriction is enforced by the operating system.

Although this attribute was introduced in Windows Vista with Service Pack 1 (SP1), a .propdesc file that includes this attribute is compatible with Windows Vista prior to Windows Vista with SP1. The canBePurged attribute is simply ignored in that situation.

multipleValuesPublic. Optional. Default is "false". Specifies whether this property can have multiple values. This value maps to the PDTF_MULTIPLEVALUES flag defined in PROPDESC_TYPE_FLAGS and used in IPropertyDescription::GetTypeFlags. This also influences whether VT_VECTOR is OR'd to the VARTYPE of the property value.
isGroupPublic. Optional. Default is "false". Specifies whether the property is a group heading. A group heading is strictly used in proplists, has no value, is never stored in a file, and should also have <typeInfo type="Null">. Some UI in the system use proplists to indicate the sequence of the properties to display. These proplists may include references to group headings (eg, System.PropGroup.Camera), which tell the UI to start a new group section (eg, "Camera Settings"). A property description with isGroup="true" should specify a <labelInfo label="Some localized label">, otherwise it isn't a useful property. This value maps to the PDTF_ISGROUP flag defined in PROPDESC_TYPE_FLAGS and used in IPropertyDescription::GetTypeFlags.
aggregationTypePublic. Optional. Default is "Default". Specifies how aggregate properties are displayed when multiple items are selected. Once set here, these values are retrieved by IPropertyDescription::GetAggregationType as an PROPDESC_AGGREGATION_TYPE. The following are valid types.

ValueMeaning
DefaultDefault. Displays a Multiple Values placeholder in the UI. This is the default if the type is incompatible with the specified aggregationType.
FirstDisplays the property value of the first item in the selection or collection.
SumDisplays the sum of the numerical values. Useful for properties such as System.Media.Duration or System.Size. This value is not compatible with non-numeric types.
AverageDisplays the average of the numerical values. Useful for properties such as System.Rating. This value is not compatible with non-numeric types.
DateRangeDisplays a range of dates. Useful for properties like System.Photo.DateTaken. This value is not compatible with anything except type="DateTime" and is the default for properties of that type.
UnionDisplays a union of all the values in the selection or collection. The order in which the values are shown is undefined. This value is the default for properties of type="String" and multipleValues="true".
MaximumDisplays the maximum value in the collection. Useful for properties like System.DateModified. Not compatible with non-numeric or non-date types.
MinimumDisplays the minimum value in the collection. Not compatible with non-numeric or non-date types.

 

isTreePropertyPublic. Optional. Default value is "false".
isViewablePublic. Optional. Default value is "false". Specifies whether this property is intended to be viewable to the user. For example, the Column Chooser UI only shows the properties that have isViewable="true". The exception is UI that is driven by a proplist, which will always show the property. If you have a property that is only meant to shuttle data between two objects, and never intended to be viewed by the user, this attribute should be false. This value maps to the PDTF_ISVIEWABLE flag defined in PROPDESC_TYPE_FLAGS and used in IPropertyDescription::GetTypeFlags.
isQueryableWindows Vista only. Not supported in Windows 7 and later. Public. Optional. Default value is "false". Specifies whether this property is intended to be available in the Search Query Builder UI. A property must have isViewable="true" before isQueryable="true" is respected. This value maps to the PDTF_ISQUERYABLE flag defined in PROPDESC_TYPE_FLAGS and used in IPropertyDescription::GetTypeFlags.
searchRawValueWindows 7 and later. Public. Optional. Default value is "false".
includeInFullTextQueryWindows Vista only. Not supported in Windows 7 and later. Public. Optional. Default value is "false".
conditionTypePublic. Optional. Default is "String". Specifies a hint to the Search Query Builder UI so that it can determine the list of possible condition operators inside a predicate. The following are recognized values.
ValueMeaning
StringDefault. The following operators will be used: "is", "is not", "<", ">", "<=", ">=", "starts with", "ends with", "contains", "doesn't contain", "is like".
NumberDefault for numeric properties. The following operators will be used: "equals", "doesn't equal", "is less than", "is greater than", "is less than or equal to", "is greater than or equal to".
DateTimeDefault for properties of type="DateTime". The following operators will be used: "is", "is not", "is before", "is after", "is before but includes", "is after but includes".
BooleanDefault for properties of type="Boolean". Same as Number.
SizeSame as Number.

 

defaultOperationPublic. Optional. Default is "Equal". Specifies a hint to the Search Query Builder tool so that it can determine the default operator. The possible values are as follows:

ValueMeaning
EqualDefault. Indicates equivalent.
NotEqualIndicates not equivalent.
LessThanIndicates less than.
GreaterThanDefault for properties of conditionType="Size". Indicates greater than.
ContainsDefault for properties of conditionType="String". Indicates inclusion.

 

 

 

 

Community Additions

ADD
Show:
© 2014 Microsoft