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>

項目資訊

Parent 項目 子元素
propertyDescription

 

屬性

屬性 描述
類型 公用。 選擇性。 預設值為 「Any」。 表示屬性的類型。 以下是有效的類型,而且其相關聯的變體類型是由 IPropertyDescription::GetPropertyType所擷取。
意義
任意 預設值。 屬性子系統不會強制執行或強制轉型屬性值。 IPropertyDescription::GetPropertyType 會傳回VT_Null。 強烈建議獨立軟體廠商 (ISV) 提供類型,而不是在此預設值上回複。
Null 這個屬性沒有值。 IPropertyDescription::GetPropertyType 會傳回VT_Null。
String 此值必須是VT_LPWSTR,這是以 Null 參考結尾的 Unicode 字串。
Boolean 此值必須是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,這是剪貼簿格式。
物件 此值必須是VT_UNKNOWN,這是實作 IUnknown的物件。

 

groupingRange 選擇性。 預設值為 「Discrete」。 指定當檢視依此屬性分組時,屬性的顯示方式。 在此設定之後, IPropertyDescription::GetGroupingRange會擷取這些值。 以下是有效的類型。
意義
Discrete 預設值。 顯示個別值。
英數字元 顯示值的靜態英數位元範圍。
大小 顯示值的靜態大小範圍。
Date 顯示月份/年份群組。 type=「DateTime」 屬性的預設值。
TimeRelative 以時間相對群組顯示。
動態 顯示值的動態建立範圍。
百分比 顯示百分比貯體。

 

isInnate 公用。 選擇性。 預設值為 "false" 指定屬性是否被視為內建。 內嵌屬性是從檔案的內容或從其他資源或系統計算而來的。 例如,System.Size 是檔案系統提供的固有屬性;變更 和 本身之 屬性的值不會執行任何動作。 其他範例是 System.Image.Dimensions 和 System.Document.PageCount,這些範例是由程式根據檔案的內容來計算,而不是根據使用者可變更的設定。 設定 isInnate=「true」 表示使用者無法透過屬性控制項直接編輯此屬性。 此值會對應至 PROPDESC_TYPE_FLAGS 中定義的 PDTF_ISINNATE 旗標,並用於 IPropertyDescription::GetTypeFlags
canBePurged 僅限 Service Pack 1 (SP1) 及更新版本的 Windows Vista。 公用。 選擇性。 當設定為 「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 公用。 選擇性。 預設值為 "false" 指定這個屬性是否可以有多個值。 此值會對應至PROPDESC_TYPE_FLAGS中定義的 PDTF_MULTIPLEVALUES 旗標,並用於 IPropertyDescription::GetTypeFlags。 這也會影響VT_VECTOR是否為屬性值的 VARTYPE。
isGroup 公用。 選擇性。 預設值為 "false" 指定屬性是否為群組標題。 群組標題嚴格用於 proplists、沒有值、永遠不會儲存在檔案中,而且也應該有 < typeInfo type=「Null」。 > 系統中的某些 UI 會使用 proplists 來指出要顯示的屬性順序。 這些屬性清單可能包含群組標題 (的參考,例如 System.PropGroup.Camera) ,告知 UI 啟動新的群組區段 (,例如「相機設定」) 。 isGroup=「true」 的屬性描述應該指定 < labelInfo label=「Some localized label」 > ,否則它不是有用的屬性。 此值會對應至 PROPDESC_TYPE_FLAGS 中定義的 PDTF_ISGROUP 旗標,並用於 IPropertyDescription::GetTypeFlags
aggregationType 公用。 選擇性。 預設值為 「Default」。 指定選取多個專案時,匯總屬性的顯示方式。 在此設定之後, IPropertyDescription::GetAggregationType 會擷取這些值作為 PROPDESC_AGGREGATION_TYPE。 以下是有效的類型。
意義
預設 預設值。 在 UI 中顯示 多個值 預留位置。 如果 類型 與指定的 aggregationType不相容,則為預設值。
First 顯示選取範圍或集合中第一個專案的屬性值。
Sum 顯示數值的總和。 適用于 System.Media.Duration 或 System.Size 等屬性。 這個值與非數數值型別不相容。
Average 顯示數值的平均值。 適用于 System.Rating 等屬性。 這個值與非數數值型別不相容。
DateRange 顯示日期範圍。 適用于 System.Photo.DateTaken 等屬性。 這個值與 type=「DateTime」 以外的任何專案不相容,而且是該類型屬性的預設值。
聯集 顯示選取範圍或集合中所有值的聯集。 顯示值的順序為未定義。 這個值是 type=「String」 和 multipleValues=「true」 屬性的預設值。
最大值 顯示集合中的最大值。 適用于 System.DateModified 之類的屬性。 與非數值或非日期類型不相容。
最小值 顯示集合中的最小值。 與非數值或非日期類型不相容。

 

isTreeProperty 公用。 選擇性。 預設值為 「false」。
isViewable 公用。 選擇性。 預設值為 「false」。 指定此屬性是否要供使用者檢視。 例如,資料行選擇器 UI 只會顯示具有 isViewable=「true」 的屬性。 例外狀況是由 proplist 所驅動的 UI,它一律會顯示 屬性。 如果您有一個屬性,該屬性只用來在兩個物件之間擷取資料,而且永遠不會被使用者檢視,則此屬性應該是 false。 此值會對應至 PROPDESC_TYPE_FLAGS 中定義的 PDTF_ISVIEWABLE 旗標,並用於 IPropertyDescription::GetTypeFlags
isQueryable 僅限 Windows Vista。 Windows 7 和更新版本不支援。 公用。 選擇性。 預設值為 「false」。 指定此屬性是否要在搜尋查詢產生器 UI 中使用。 在採用 isQueryable=「true」 之前,屬性必須具有 isViewable=「true」。 此值會對應至 PROPDESC_TYPE_FLAGS 中定義的 PDTF_ISQUERYABLE 旗標,並用於 IPropertyDescription::GetTypeFlags
searchRawValue Windows 7 和更新版本。 公用。 選擇性。 預設值為 「false」。
includeInFullTextQuery 僅限 Windows Vista。 Windows 7 和更新版本不支援。 公用。 選擇性。 預設值為 「false」。
conditionType 公用。 選擇性。 預設值為 「String」。 指定搜尋查詢產生器 UI 的提示,以便判斷述詞內可能的條件運算子清單。 以下是可辨識的值。
意義
String 預設值。 將會使用下列運算子:「is」、「is not」、「is」、「 <> 」、「<=」、「>=」、「starts with」、「ends with」、「contains」、「not't contain」、「is like」。
數字 數值屬性的預設值。 下列運算子將會使用:「equals」、「不等於」、「is less than」、「is greater than」、「is less than」、「is less than or equal to」、「is greater than or equal to」。
Datetime type=「DateTime」 屬性的預設值。 將會使用下列運算子:「is」、「is not」、「is before」、「is after」、「is before」、「is before but includes」、「is after but includes」。
Boolean type=「Boolean」 屬性的預設值。 與數位相同。
大小 與數位相同。

 

defaultOperation 公用。 選擇性。 預設值為 「Equal」。 指定搜尋查詢產生器工具的提示,以便判斷預設運算子。 可能的值如下:
意義
等於 預設值。 表示相等的 。
NotEqual 表示不相等。
LessThan 表示小於 。
GreaterThan conditionType=「Size」 屬性的預設值。 表示大於 。
包含 conditionType=「String」 屬性的預設值。 表示包含。