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 Windows Vista Service Pack 1 (SP1) 以降のみ。 パブリック。 省略可能。 "true" に設定すると、自然なプロパティを削除できます。 他のプロパティから計算される固有のプロパティは、定義によって読み取り専用です。 この属性の既定値は isInnate 値によって異なります。
isInnate canBePurged 既定値
true false
false true

 

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

 

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

multipleValues パブリック。 省略可能。 既定値は "false" です。 このプロパティに複数の値を設定できるかどうかを指定します。 この値は、 PROPDESC_TYPE_FLAGS で定義 され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_MULTIPLEVALUES フラグにマップされます。 これは、VT_VECTORがプロパティ値の VARTYPE に対して OR であるかどうかにも影響します。
isGroup パブリック。 省略可能。 既定値は "false" です。 プロパティがグループ見出しであるかどうかを指定します。 グループ見出しは、プロップリストで厳密に使用され、値がなく、ファイルに格納されることはなく、typeInfo type="Null" も>含<める必要があります。 システム内の一部の UI では、表示するプロパティのシーケンスを示すために proplist を使用します。 これらのプロップリストには、グループ見出し (System.PropGroup.Camera など) への参照が含まれる場合があります。これにより、UI に新しいグループ セクション ("カメラの設定" など) を開始するように指示されます。 isGroup="true" のプロパティの説明では、labelInfo label="Some localized label"を>指定<する必要があります。それ以外の場合は便利なプロパティではありません。 この値は、 PROPDESC_TYPE_FLAGSで定義 され、 IPropertyDescription::GetTypeFlags で使用されるPDTF_ISGROUP フラグにマップされます。
aggregationType パブリック。 省略可能。 既定値は "Default" です。 複数の項目を選択したときに集計プロパティを表示する方法を指定します。 ここで設定すると、これらの値は IPropertyDescription::GetAggregationType によって PROPDESC_AGGREGATION_TYPEとして取得されます。 有効な型を次に示します。
説明
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" の各演算子が使用されます。
数値 数値プロパティの既定値。 次の演算子が使用されます: "equals"、"doesn't equal"、"is less than"、"is greater 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 but includes"、"is after but includes" です。
Boolean type="Boolean" のプロパティの既定値。 Number と同じです。
サイズ Number と同じです。

 

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