typeInfo

プロパティの型情報を指定します。 propertyDescription ごとに typeInfo 要素は 1 つだけ必要です。 この要素は、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 なし

 

属性

属性 説明
type パブリック。 省略可能。 既定値は "Any" です。 プロパティの型を示します。 有効な型を次に示します。関連するバリアント型は IPropertyDescription::GetPropertyType によって取得されます。
意味
Any 既定値。 プロパティ サブシステムは、プロパティ値を強制または強制しません。 IPropertyDescription::GetPropertyType はVT_NULLを返します。 独立系ソフトウェア ベンダー (ISV) は、この既定値にフォールバックするのではなく、型を提供することを強くお勧めします。
[Null] このプロパティには値がありません。 IPropertyDescription::GetPropertyType はVT_NULLを返します。
String 値は、null 参照で終わる Unicode 文字列であるVT_LPWSTRである必要があります。
Boolean 値は、ブール値であるVT_BOOLである必要があります。
Byte 値は、バイトであるVT_UI1である必要があります。
バッファー 値はVT_UI1 |である必要がありますバイトのバッファーをVT_VECTORします。
Int16 値は、16 ビット整数であるVT_I2である必要があります。
UInt16 値は、16 ビット符号なし整数であるVT_UI2である必要があります。
Int32 値は、32 ビット整数であるVT_I4である必要があります。
UInt32 値は、32 ビット符号なし整数であるVT_UI4である必要があります。
Int64 値は、64 ビット整数であるVT_I8である必要があります。
UInt64 値は、64 ビット符号なし整数であるVT_UI8である必要があります。
Double 値は、double であるVT_R8である必要があります。
DateTime 値は、 FILETIME であるVT_FILETIMEである必要があります。
Guid 値は、クラス識別子 (CLSID) であるVT_CLSIDである必要があります。
BLOB 値は、長さのプレフィックスが付いたバイトであるVT_BLOBである必要があります。
ストリーム 値は、 IStream を実装するオブジェクトであるVT_STREAMである必要があります。
クリップボードのトピック 値は、クリップボード形式のVT_CFである必要があります。
Object 値は、 IUnknown を実装するオブジェクトであるVT_UNKNOWNである必要があります。

 

groupingRange 省略可能。 既定値は "Discrete" です。 ビューがこのプロパティによってグループ化されるときにプロパティを表示する方法を指定します。 ここで設定すると、これらの値は IPropertyDescription::GetGroupingRange によって取得されます。 有効な型は次のとおりです。
意味
離散 既定値。 個々の値を表示します。
英数字 値の静的な英数字範囲を表示します。
サイズ 値の静的サイズ範囲を表示します。
Date 月/年のグループを表示します。 type="DateTime" のプロパティの既定値。
TimeRelative 時間相対グループで表示されます。
動的 動的に作成された値の範囲を表示します。
Percent バケットの割合を表示します。

 

isInnate パブリック。 省略可能。 既定値は "false" です。 プロパティが自然と見なされるかどうかを指定します。 自然なプロパティは、ファイルの内容から、または他のリソースまたはシステムから計算されるプロパティです。 たとえば、System.Size はファイル システムによって提供される自然なプロパティです。それ自体のプロパティの値を変更しても何もしません。 その他の例としては、System.Image.Dimensions と System.Document.PageCount があります。これは、ユーザーが変更可能な設定に基づいてではなく、ファイルの内容に基づいてプログラムによって計算されます。 isInnate="true" の設定は、ユーザーがプロパティ コントロールを使用してこのプロパティを直接編集できないことを意味します。 この値は、 PROPDESC_TYPE_FLAGS で定義され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_ISINNATE フラグにマップされます。
canBePurged Service Pack 1 (SP1) 以降でのみ vista をWindowsします。 パブリック。 省略可能。 "true" に設定すると、自然なプロパティを削除できます。 他のプロパティから計算される自然なプロパティは、定義によって読み取り専用です。 この属性の既定値は isInnate 値によって異なります。
isInnate canBePurged の既定値
true false
false true

 

[!注]
isInnate 値が "false" であるプロパティ (プロパティが読み取り/書き込みであることを意味します) は、canBePurged 値を "false" に設定することもできません。 この制限は、オペレーティング システムによって適用されます。
 

この属性は Service Pack 1 (SP1) Windows Vista で導入されましたが、この属性を含む .propdesc ファイルは、SP1 で Vista をWindowsする前Windows Vista と互換性があります。 canBePurged 属性は、その状況では無視されます。

multipleValues パブリック。 省略可能。 既定値は "false" です。 このプロパティに複数の値を設定できるかどうかを指定します。 この値は、 PROPDESC_TYPE_FLAGS で定義され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_MULTIPLEVALUES フラグにマップされます。 これは、VT_VECTORがプロパティ値の VARTYPE に OR であるかどうかにも影響します。
isGroup パブリック。 省略可能。 既定値は "false" です。 プロパティがグループ見出しであるかどうかを指定します。 グループ見出しは、プロップリストで厳密に使用され、値がなく、ファイルに格納されることはなく、また、
説明
Default 既定値。 UI に 複数の値 のプレースホルダーを表示します。 これは、 が指定された aggregationType と互換性がない場合の既定値です。
First 選択範囲またはコレクションの最初の項目のプロパティ値を表示します。
SUM 数値の合計を表示します。 System.Media.Duration や System.Size などのプロパティに便利です。 この値は数値以外の型と互換性がありません。
Average 数値の平均を表示します。 System.Rating などのプロパティに役立ちます。 この値は数値以外の型と互換性がありません。
DateRange 日付の範囲を表示します。 System.Photo.DateTaken などのプロパティに役立ちます。 この値は type="DateTime" を除く何とも互換性がありません。この型のプロパティの既定値です。
Union 選択範囲またはコレクション内のすべての値の和集合を表示します。 値が表示される順序は未定義です。 この値は、type="String" および multipleValues="true" のプロパティの既定値です。
最大値 コレクション内の最大値を表示します。 System.DateModified などのプロパティに便利です。 数値型または日付以外の型と互換性がありません。
最小値 コレクションの最小値を表示します。 数値型または日付以外の型と互換性がありません。

 

isTreeProperty パブリック。 省略可能。 既定値は "false" です。
isViewable パブリック。 省略可能。 既定値は "false" です。 このプロパティがユーザーに表示可能かどうかを指定します。 たとえば、列の選択 UI では、isViewable="true" を持つプロパティのみが表示されます。 例外は、プロパティ リストによって駆動される UI であり、常にプロパティが表示されます。 2 つのオブジェクト間でデータをシャトルすることのみを目的とし、ユーザーが表示することを意図しないプロパティがある場合、この属性は false にする必要があります。 この値は、 PROPDESC_TYPE_FLAGS で定義され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_ISVIEWABLE フラグにマップされます。
isQueryable Windows Vista のみ。 Windows 7 以降ではサポートされていません。 パブリック。 省略可能。 既定値は "false" です。 このプロパティを検索クエリ ビルダー UI で使用できるかどうかを指定します。 isQueryable="true" が優先される前に、プロパティに isViewable="true" が必要です。 この値は、 PROPDESC_TYPE_FLAGS で定義され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_ISQUERYABLE フラグにマップされます。
searchRawValue Windows 7 以降。 パブリック。 省略可能。 既定値は "false" です。
includeInFullTextQuery Windows Vista のみ。 Windows 7 以降ではサポートされていません。 パブリック。 省略可能。 既定値は "false" です。
conditionType パブリック。 省略可能。 既定値は "String" です。 述語内で可能な条件演算子の一覧を特定できるように、検索クエリ ビルダー UI にヒントを指定します。 認識される値を次に示します。
意味
String 既定値。 "is"、"is not"、""、>"<<="、">="、"starts with"、"ends with"、"contains"、"doesn't contain"、"is like" の各演算子が使用されます。
Number 数値プロパティの既定値。 次の演算子が使用されます: "equals"、"doesn't equal"、"is less than"、"is greater than"、"is less or equal to"、"is greater or equal to"。
DateTime type="DateTime" のプロパティの既定値。 "is"、"is not"、"is before"、"is after"、"is before but includes"、"is after but includes"、"is after but includes" の各演算子が使用されます。
Boolean type="Boolean" のプロパティの既定値。 数値と同じです。
サイズ 数値と同じです。

 

defaultOperation パブリック。 省略可能。 既定値は "Equal" です。 既定の演算子を決定できるように、検索クエリ ビルダー ツールのヒントを指定します。 次のような値が考えられます。
意味
等しい 既定値。 同等の値を示します。
NotEqual 同等でないことを示します。
LessThan より小さい値を示します。
GreaterThan conditionType="Size" のプロパティの既定値。 より大きい値を示します。
Contains conditionType="String" のプロパティの既定値。 包含を示します。