typeInfo

指定属性的类型信息。 每个 propertyDescription 应该只有一个 typeInfo 元素。 此元素已更改Windows 7。

如果有多个元素,则使用最后一个元素。 如果未提供 typeInfo 元素,则默认属性设置将应用于属性说明。

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>

元素信息

父元素 子元素
propertyDescription

 

属性

属性 说明
type Public。 可选。 默认值为“Any”。 指示属性的类型。 以下是有效的类型,其关联的变体类型由 IPropertyDescription::GetPropertyType 检索。
含义
任意 默认。 属性子系统不会强制或强制属性值。 IPropertyDescription::GetPropertyType 返回VT_NULL。 强烈建议独立软件供应商 (ISV) 提供类型,而不是回退此默认值。
Null 此属性没有值。 IPropertyDescription::GetPropertyType 返回VT_NULL。
String 该值必须是一个VT_LPWSTR,它是以 null 引用终止的 Unicode 字符串。
布尔 该值必须是VT_BOOL,这是布尔值。
Byte 该值必须是VT_UI1,即字节。
Buffer 该值必须是VT_UI1 |VT_VECTOR字节缓冲区。
Int16 该值必须是一个VT_I2,它是一个 16 位整数。
UInt16 该值必须是一个VT_UI2,它是一个 16 位无符号整数。
Int32 该值必须是一个VT_I4,它是一个 32 位整数。
UInt32 该值必须是一个VT_UI4,它是一个 32 位无符号整数。
Int64 该值必须是一个VT_I8,它是一个 64 位整数。
UInt64 该值必须是一个VT_UI8,即 64 位无符号整数。
Double 该值必须是一个VT_R8,这是一个双精度值。
DateTime 该值必须是一个VT_FILETIME,即 FILETIME
Guid 该值必须是VT_CLSID,它是 CLSID) (类标识符。
Blob 该值必须是长度前缀字节的VT_BLOB。
Stream 该值必须是VT_STREAM,它是实现 IStream 的对象。
剪贴板 该值必须是VT_CF,这是剪贴板格式。
Object 该值必须是VT_UNKNOWN,它是实现 IUnknown 的对象。

 

groupingRange 可选。 默认值为“离散”。 指定当视图按此属性分组时如何显示属性。 在此处设置后,这些值由 IPropertyDescription::GetGroupingRange 检索。 下面是有效类型。
含义
离散 默认。 显示单个值。
字母数字 显示值的静态字母数字范围。
大小 显示值的静态大小范围。
Date 显示月/年组。 类型为“DateTime”的属性的默认值。
TimeRelative 以时间相对组显示。
动态 显示值的动态创建范围。
百分比 显示百分比存储桶。

 

isInnate Public。 可选。 默认值为“false”。 指定属性是否被视为内生属性。 内在属性是从文件的内容或从其他资源或系统计算得出的。 例如,System.Size 是文件系统提供的内在属性;更改属性的值本身不执行任何操作。 其他示例包括 System.Image.Dimensions 和 System.Document.PageCount,它们由基于文件内容的程序计算,而不是基于用户可更改的设置。 Setting isInnate=“true”表示用户无法直接通过属性控件编辑此属性。 此值映射到 在 PROPDESC_TYPE_FLAGS 中定义的PDTF_ISINNATE标志,并在 IPropertyDescription::GetTypeFlags 中使用。
canBePurged 仅使用 Service Pack 1 (SP1) 及更高版本Windows Vista。 Public。 可选。 设置为“true”时,允许删除内生属性。 从其他属性计算的内生属性是按定义只读的。 此属性的默认值取决于 isInnate 值。
isInnate canBePurged 默认值
true false
false true

 

[!注意]
isInnate 值为“false”的属性 (表示该属性是读/写) 也不能将 canBePurged 值设置为“false”。 操作系统强制实施此限制。
 

虽然此属性是在 Windows Vista 中引入的,但 Service Pack 1 (SP1) ,但包含此属性的 .propdesc 文件与 Windows Vista 与 SP1 之前的 Windows Vista 兼容。 在这种情况下, canBePurged 属性只是被忽略。

multipleValues Public。 可选。 默认值为“false”。 指定此属性是否可以具有多个值。 此值映射到PROPDESC_TYPE_FLAGS中定义的 PDTF_MULTIPLEVALUES 标志,并在 IPropertyDescription::GetTypeFlags 中使用。 这也会影响VT_VECTOR是否属于属性值的 VARTYPE。
isGroup Public。 可选。 默认值为“false”。 指定属性是否为组标题。 组标题严格用于属性列表,没有值,永远不会存储在文件中,并且还应具有
含义
默认 默认。 在 UI 中显示 多个值 占位符。 如果 类型 与指定的 aggregationType 不兼容,则为默认值。
第一个 显示选定内容或集合中第一项的属性值。
Sum 显示数值的总和。 适用于 System.Media.Duration 或 System.Size 等属性。 此值与非数值类型不兼容。
平均值 显示数值的平均值。 适用于 System.Rating 等属性。 此值与非数值类型不兼容。
DateRange 显示日期范围。 适用于 System.Photo.DateTaken 等属性。 此值与除 type=“DateTime”以外的任何内容不兼容,并且是该类型属性的默认值。
Union 显示选定内容或集合中所有值的联合。 显示值的顺序未定义。 此值是 type=“String”和 multipleValues=“true”属性的默认值。
最大值 显示集合中的最大值。 适用于 System.DateModified 等属性。 与非数字或非日期类型不兼容。
最小值 显示集合中的最小值。 与非数字或非日期类型不兼容。

 

isTreeProperty Public。 可选。 默认值为“false”。
isViewable Public。 可选。 默认值为“false”。 指定此属性是否旨在供用户查看。 例如,列选择器 UI 仅显示具有 isViewable=“true”的属性。 例外是由属性列表驱动的 UI,该属性将始终显示该属性。 如果属性仅用于在两个对象之间传递数据,并且从未打算由用户查看,则此属性应为 false。 此值映射到 在 PROPDESC_TYPE_FLAGS 中定义的PDTF_ISVIEWABLE标志,并在 IPropertyDescription::GetTypeFlags 中使用。
isQueryable 仅Windows Vista。 Windows 7 及更高版本中不支持。 Public。 可选。 默认值为“false”。 指定此属性是否在搜索查询生成器 UI 中可用。 在遵循 isQueryable=“true” 之前,属性必须具有 isViewable=“true”。 此值映射到PROPDESC_TYPE_FLAGS中定义的 PDTF_ISQUERYABLE 标志,并在 IPropertyDescription::GetTypeFlags 中使用。
searchRawValue Windows 7 及更高版本。 Public。 可选。 默认值为“false”。
includeInFullTextQuery 仅Windows Vista。 Windows 7 及更高版本中不支持。 Public。 可选。 默认值为“false”。
conditionType Public。 可选。 默认值为“String”。 指定搜索查询生成器 UI 的提示,以便它可以确定谓词中可能的条件运算符的列表。 以下是可识别的值。
含义
String 默认。 将使用以下运算符:“is”、“is”、“not”、“”、“<”、“><=”、“>=”、“starts with”、“ends with”、“contains”、“not't contain”、“is like”。
Number 数值属性的默认值。 将使用以下运算符:“equals”、“不相等”、“小于”、“大于”、“小于或等于”、“大于或等于”。
DateTime 类型为=“DateTime”的属性的默认值。 将使用以下运算符:“is”、“is not”、“is before”、“is after”、“is before”、“is but includes”、“is after”、“is after but includes”。
布尔 类型为“Boolean”的属性的默认值。 与数字相同。
大小 与数字相同。

 

defaultOperation Public。 可选。 默认值为“Equal”。 指定搜索查询生成器工具的提示,以便它可以确定默认运算符。 可能的值如下:
含义
等于 默认。 指示等效项。
NotEqual 指示不等效。
LessThan 指示小于。
GreaterThan conditionType=“Size”属性的默认值。 指示大于。
Contains conditionType=“String”的属性的默认值。 指示包含。