typeInfo

Spécifie les informations de type d’une propriété. Il ne doit y avoir qu’un seul élément typeInfo pour chaque propertyDescription. Cet élément a changé pour Windows 7.

S’il existe plusieurs éléments, le dernier est utilisé. Si aucun élément typeInfo n’est fourni, les paramètres d’attribut par défaut sont appliqués à la description de la propriété.

Syntaxe pour 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>

Informations sur les éléments

Élément parent Éléments enfants
propertyDescription Aucun

 

Attributs

Attribut Description
type Public. facultatif. La valeur par défaut est « Any ». Indique le type de la propriété. Les types suivants sont valides et leurs types de variantes associés sont récupérés par IPropertyDescription::GetPropertyType.
Valeur Signification
Quelconque Par défaut. Le sous-système de propriété n’applique pas ou ne force pas la valeur de la propriété. IPropertyDescription::GetPropertyType retourne VT_NULL. Les éditeurs de logiciels indépendants (ISV) sont fortement encouragés à fournir un type plutôt que de revenir sur cette valeur par défaut.
Null Il n’existe aucune valeur pour cette propriété. IPropertyDescription::GetPropertyType retourne VT_NULL.
String La valeur doit être une VT_LPWSTR, qui est une chaîne Unicode terminée par une référence null.
Boolean La valeur doit être une VT_BOOL, qui est une valeur booléenne.
Byte La valeur doit être un VT_UI1, qui est un octet.
Buffer La valeur doit être un VT_UI1 | VT_VECTOR mémoire tampon d’octets.
Int16 La valeur doit être un VT_I2, qui est un entier 16 bits.
UInt16 La valeur doit être un VT_UI2, qui est un entier non signé 16 bits.
Int32 La valeur doit être un VT_I4, qui est un entier 32 bits.
UInt32 La valeur doit être un VT_UI4, qui est un entier non signé 32 bits.
Int64 La valeur doit être un VT_I8, qui est un entier 64 bits.
UInt64 La valeur doit être un VT_UI8, qui est un entier non signé 64 bits.
Double La valeur doit être un VT_R8, qui est un double.
DateTime La valeur doit être un VT_FILETIME, c’est-à-dire un FILETIME.
Guid La valeur doit être un VT_CLSID, qui est un identificateur de classe (CLSID).
Objet blob La valeur doit être un VT_BLOB, qui sont des octets avec préfixe de longueur.
STREAM La valeur doit être un VT_STREAM, qui est un objet qui implémente IStream.
Presse-papiers La valeur doit être un VT_CF, qui est un format de Presse-papiers.
Object La valeur doit être un VT_UNKNOWN, qui est un objet qui implémente IUnknown.

 

groupingRange facultatif. La valeur par défaut est « Discret ». Spécifie le mode d’affichage de la propriété lorsqu’une vue est groupée par cette propriété. Une fois définies ici, ces valeurs sont récupérées par IPropertyDescription::GetGroupingRange. Les types suivants sont valides.
Valeur Signification
Discret Par défaut. Affiche des valeurs individuelles.
Alphanumérique Affiche des plages alphanumériques statiques pour les valeurs.
Taille Affiche des plages de tailles statiques pour les valeurs.
Date Affiche les groupes mois/année. Valeur par défaut pour les propriétés de type="DateTime ».
TimeRelative S’affiche dans des groupes relatifs au temps.
Dynamique Affiche les plages créées dynamiquement pour les valeurs.
Pourcentage Affiche les compartiments de pourcentage.

 

isInnate Public. facultatif. La valeur par défaut est « false ». Spécifie si la propriété est considérée comme innée. Une propriété innée est une propriété calculée à partir du contenu d’un fichier ou d’autres ressources ou systèmes. Par exemple, System.Size est une propriété innée fournie par le système de fichiers ; la modification de la valeur de la propriété dans et de lui-même ne fait rien. D’autres exemples sont System.Image.Dimensions et System.Document.PageCount, qui sont calculés par des programmes basés sur le contenu du fichier, et non sur un paramètre modifiable par l’utilisateur. La définition de isInnate="true » signifie que l’utilisateur ne peut pas modifier cette propriété directement via un contrôle de propriété. Cette valeur correspond à l’indicateur PDTF_ISINNATE défini dans PROPDESC_TYPE_FLAGS et utilisé dans IPropertyDescription::GetTypeFlags.
canBePurged Windows Vista avec Service Pack 1 (SP1) et versions ultérieures uniquement. Public. facultatif. Lorsqu’il est défini sur « true », autorise la suppression d’une propriété innée. Les propriétés innées, qui sont calculées à partir d’autres propriétés, sont en lecture seule par définition. La valeur par défaut de cet attribut dépend de la valeur isInnate .
isInnate valeur par défaut canBePurged
true false
false true

 

Remarque :
Une propriété dont la valeur isInnate est « false » (ce qui signifie que la propriété est en lecture/écriture) ne peut pas également définir la valeur canBePurged sur « false ». Cette restriction est appliquée par le système d’exploitation.

 

Bien que cet attribut ait été introduit dans Windows Vista avec Service Pack 1 (SP1), un fichier .propdesc qui inclut cet attribut est compatible avec Windows Vista avant Windows Vista avec SP1. L’attribut canBePurged est simplement ignoré dans cette situation.

multipleValues Public. facultatif. La valeur par défaut est « false ». Spécifie si cette propriété peut avoir plusieurs valeurs. Cette valeur correspond à l’indicateur PDTF_MULTIPLEVALUES défini dans PROPDESC_TYPE_FLAGS et utilisé dans IPropertyDescription::GetTypeFlags. Cela détermine également si VT_VECTOR est OR’d à la VALEUR VARTYPE de la propriété.
isGroup Public. facultatif. La valeur par défaut est « false ». Spécifie si la propriété est un en-tête de groupe. Un en-tête de groupe est strictement utilisé dans les proplists, n’a aucune valeur, n’est jamais stocké dans un fichier et doit également avoir <typeInfo type="Null ».> Certaines interface utilisateur du système utilisent des listes de propriétés pour indiquer la séquence des propriétés à afficher. Ces listes de propriétés peuvent inclure des références à des en-têtes de groupe (par exemple, System.PropGroup.Camera), qui indiquent à l’interface utilisateur de démarrer une nouvelle section de groupe (par exemple, « Paramètres de l’appareil photo »). Une description de propriété avec isGroup="true » doit spécifier une <étiquette labelInfo="Une étiquette localisée »>, sinon il ne s’agit pas d’une propriété utile. Cette valeur correspond à l’indicateur PDTF_ISGROUP défini dans PROPDESC_TYPE_FLAGS et utilisé dans IPropertyDescription::GetTypeFlags.
aggregationType Public. facultatif. La valeur par défaut est « Default ». Spécifie la façon dont les propriétés d’agrégation sont affichées lorsque plusieurs éléments sont sélectionnés. Une fois définies ici, ces valeurs sont récupérées par IPropertyDescription::GetAggregationType en tant que PROPDESC_AGGREGATION_TYPE. Les types suivants sont valides.
Valeur Signification
Default Par défaut. Affiche un espace réservé Valeurs multiples dans l’interface utilisateur. Il s’agit de la valeur par défaut si le type est incompatible avec l’agrégationType spécifié.
Premier Affiche la valeur de propriété du premier élément de la sélection ou de la collection.
Sum Affiche la somme des valeurs numériques. Utile pour les propriétés telles que System.Media.Duration ou System.Size. Cette valeur n’est pas compatible avec les types non numériques.
Moyenne Affiche la moyenne des valeurs numériques. Utile pour des propriétés telles que System.Rating. Cette valeur n’est pas compatible avec les types non numériques.
DateRange Affiche une plage de dates. Utile pour les propriétés telles que System.Photo.DateTaken. Cette valeur n’est compatible avec rien d’autre que type="DateTime » et est la valeur par défaut pour les propriétés de ce type.
Union Affiche une union de toutes les valeurs de la sélection ou de la collection. L’ordre dans lequel les valeurs sont affichées n’est pas défini. Cette valeur est la valeur par défaut pour les propriétés de type="String » et multipleValues="true ».
Maximale Affiche la valeur maximale dans la collection. Utile pour les propriétés telles que System.DateModified. Non compatible avec les types non numériques ou non-date.
Minimum Affiche la valeur minimale dans la collection. Non compatible avec les types non numériques ou non-date.

 

isTreeProperty Public. facultatif. La valeur par défaut est « false ».
isViewable Public. facultatif. La valeur par défaut est « false ». Spécifie si cette propriété est destinée à être visible pour l’utilisateur. Par exemple, l’interface utilisateur du sélecteur de colonnes affiche uniquement les propriétés qui ont isViewable="true ». L’exception est l’interface utilisateur pilotée par une liste de propriétés, qui affiche toujours la propriété. Si vous disposez d’une propriété qui est uniquement destinée à faire la navette de données entre deux objets et qui n’a jamais été conçue pour être affichée par l’utilisateur, cet attribut doit être false. Cette valeur correspond à l’indicateur PDTF_ISVIEWABLE défini dans PROPDESC_TYPE_FLAGS et utilisé dans IPropertyDescription::GetTypeFlags.
isQueryable Windows Vista uniquement. Non pris en charge dans Windows 7 et versions ultérieures. Public. facultatif. La valeur par défaut est « false ». Spécifie si cette propriété est destinée à être disponible dans l’interface utilisateur du Générateur de requêtes de recherche. Une propriété doit avoir isViewable="true » avant que isQueryable="true » soit respecté. Cette valeur correspond à l’indicateur PDTF_ISQUERYABLE défini dans PROPDESC_TYPE_FLAGS et utilisé dans IPropertyDescription::GetTypeFlags.
searchRawValue Windows 7 et versions ultérieures. Public. facultatif. La valeur par défaut est « false ».
includeInFullTextQuery Windows Vista uniquement. Non pris en charge dans Windows 7 et versions ultérieures. Public. facultatif. La valeur par défaut est « false ».
conditionType Public. facultatif. La valeur par défaut est « String ». Spécifie un indicateur pour l’interface utilisateur du Générateur de requêtes de recherche afin qu’elle puisse déterminer la liste des opérateurs de condition possibles à l’intérieur d’un prédicat. Les valeurs suivantes sont reconnues.
Valeur Signification
Chaîne Par défaut. Les opérateurs suivants seront utilisés : « is », « is not », « <" », « ><= », « >= », « starts with », « ends with », « contains », « ne contient pas », « is like ».
Number Valeur par défaut pour les propriétés numériques. Les opérateurs suivants seront utilisés : « est égal à », « n’est pas égal à », « est inférieur à », « est supérieur à », « est inférieur ou égal à », « est supérieur ou égal à ».
DateTime Valeur par défaut pour les propriétés de type="DateTime ». Les opérateurs suivants seront utilisés : « est », « n’est pas », « est avant », « est après », « est avant mais inclut », « est après mais inclut », « est après mais inclut ».
Boolean Valeur par défaut pour les propriétés de type="Boolean ». Identique à Number.
Taille Identique à Number.

 

defaultOperation Public. facultatif. La valeur par défaut est « Equal ». Spécifie un indicateur pour l’outil Générateur de requêtes de recherche afin qu’il puisse déterminer l’opérateur par défaut. Les valeurs possibles sont les suivantes :
Valeur Signification
Égal à Par défaut. Indique l’équivalent.
NotEqual Indique non équivalent.
LessThan Indique inférieur à.
GreaterThan Valeur par défaut pour les propriétés de conditionType="Size ». Indique supérieur à.
Contient Valeur par défaut pour les propriétés de conditionType="String ». Indique l’inclusion.