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

 

isInnate Public。 可选。 默认值为“false”。 指定属性是否被视为固有属性。 固有属性是从文件内容或其他资源或系统计算得出的属性。 例如,System.Size 是文件系统提供的先天属性;在 和 中更改 属性的值不会执行任何操作。 其他示例包括 System.Image.Dimensions 和 System.Document.PageCount,它们由程序基于文件内容计算,而不是基于用户可更改的设置。 设置 isInnate=“true” 表示用户无法通过属性控件直接编辑此属性。 此值映射到 PROPDESC_TYPE_FLAGS 中定义并在 IPropertyDescription::GetTypeFlags 中使用的PDTF_ISINNATE标志。
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 中定义并在 IPropertyDescription::GetTypeFlags 中使用的PDTF_MULTIPLEVALUES标志。 这也会影响VT_VECTOR是否为属性值的 VARTYPE。
isGroup Public。 可选。 默认值为“false”。 指定属性是否为组标题。 组标题严格用于 proplist,没有值,永远不会存储在文件中,并且还应具有 <typeInfo type=“Null”。> 系统中的某些 UI 使用 proplist 来指示要显示的属性的顺序。 这些属性列表可能包括对组标题的引用 (例如 System.PropGroup.Camera) ,它告诉 UI 启动新的组部分 (例如“相机设置”) 。 isGroup=“true”的属性说明应指定 <labelInfo label=“Some localized label”>,否则它不是有用的属性。 此值映射到 PROPDESC_TYPE_FLAGS 中定义并在 IPropertyDescription::GetTypeFlags 中使用的PDTF_ISGROUP标志。
aggregationType Public。 可选。 默认值为“Default”。 指定选择多个项时如何显示聚合属性。 在此处设置后, IPropertyDescription::GetAggregationType 将检索这些值作为 PROPDESC_AGGREGATION_TYPE。 以下是有效的类型。
含义
默认 默认。 在 UI 中显示 多值 占位符。 如果 类型 与指定的 aggregationType 不兼容,则这是默认值。
第一个 显示所选内容或集合中第一项的属性值。
Sum 显示数值的总和。 适用于 System.Media.Duration 或 System.Size 等属性。 此值与非数字类型不兼容。
平均值 显示数值的平均值。 适用于 System.Rating 等属性。 此值与非数字类型不兼容。
DateRange 显示日期范围。 适用于 System.Photo.DateTaken 等属性。 此值与 type=“DateTime” 以外的任何内容不兼容,并且是该类型属性的默认值。
Union 显示所选内容或集合中所有值的联合。 值的显示顺序未定义。 此值是类型=“String”和 multipleValues=“true”的属性的默认值。
最大值 显示集合中的最大值。 适用于 System.DateModified 等属性。 与非数字或非日期类型不兼容。
最小值 显示集合中的最小值。 与非数字或非日期类型不兼容。

 

isTreeProperty Public。 可选。 默认值为“false”。
isViewable Public。 可选。 默认值为“false”。 指定此属性是否应对用户而言是可查看的。 例如,列选择器 UI 仅显示具有 isViewable=“true”的属性。 例外是由属性列表驱动的 UI,该属性始终显示 属性。 如果属性仅用于在两个对象之间穿梭数据,而绝不打算由用户查看,则此属性应为 false。 此值映射到 PROPDESC_TYPE_FLAGS 中定义并在 IPropertyDescription::GetTypeFlags 中使用的PDTF_ISVIEWABLE标志。
isQueryable 仅限 Windows Vista。 Windows 7 及更高版本不支持。 Public。 可选。 默认值为“false”。 指定此属性是否在搜索查询生成器 UI 中可用。 在遵循 isQueryable=“true”之前,属性必须具有 isViewable=“true”。 此值映射到 PROPDESC_TYPE_FLAGS 中定义并在 IPropertyDescription::GetTypeFlags 中使用的PDTF_ISQUERYABLE标志。
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”、“不等于”、“is less than”、“is 大于”、“is less than”、“is less than or equal to”、“is greater than or equal to”、“is greater than or equal to”。
DateTime 类型为=“DateTime”的属性的默认值。 将使用以下运算符:“is”、“is not”、“is before”、“is after”、“is before but includes”、“is after” 、“is after but includes”、“is after but includes”。
布尔 类型=“Boolean”的属性的默认值。 与 Number 相同。
大小 与 Number 相同。

 

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