Typeinfo

Especifica as informações de tipo de uma propriedade. Deve haver apenas um elemento typeInfo para cada propertyDescription. Esse elemento foi alterado para o Windows 7.

Se houver vários elementos, o último será usado. Se nenhum elemento typeInfo for fornecido, as configurações de atributo padrão serão aplicadas à descrição da propriedade.

Sintaxe para 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>

Informações do elemento

Elemento pai Elementos filho
Propertydescription Nenhum

 

Atributos

Atributo Descrição
type Público. Opcional. O padrão é "Any". Indica o tipo da propriedade . Veja a seguir tipos válidos e seus tipos de variante associados são recuperados por IPropertyDescription::GetPropertyType.
Valor Significado
Qualquer Padrão. O subsistema de propriedade não imporá ou coagirá o valor da propriedade. IPropertyDescription::GetPropertyType retorna VT_NULL. Os ISVs (fornecedores independentes de software) são fortemente incentivados a fornecer um tipo em vez de recuar nesse padrão.
Null Não há nenhum valor para essa propriedade. IPropertyDescription::GetPropertyType retorna VT_NULL.
String O valor deve ser um VT_LPWSTR, que é uma cadeia de caracteres Unicode terminada por uma referência nula.
Boolean O valor deve ser um VT_BOOL, que é um booliano.
Byte O valor deve ser um VT_UI1, que é um byte.
Buffer O valor deve ser um VT_UI1 | VT_VECTOR buffer de bytes.
Int16 O valor deve ser um VT_I2, que é um inteiro de 16 bits.
UInt16 O valor deve ser um VT_UI2, que é um inteiro sem sinal de 16 bits.
Int32 O valor deve ser um VT_I4, que é um inteiro de 32 bits.
UInt32 O valor deve ser um VT_UI4, que é um inteiro sem sinal de 32 bits.
Int64 O valor deve ser um VT_I8, que é um inteiro de 64 bits.
UInt64 O valor deve ser um VT_UI8, que é um inteiro sem sinal de 64 bits.
Double O valor deve ser um VT_R8, que é um duplo.
Datetime O valor deve ser um VT_FILETIME, que é um FILETIME.
Guid O valor deve ser um VT_CLSID, que é um CLSID (identificador de classe).
Blob O valor deve ser um VT_BLOB, que são bytes prefixados por comprimento.
STREAM O valor deve ser um VT_STREAM, que é um objeto que implementa o IStream.
Área de Transferência O valor deve ser um VT_CF, que é um formato de área de transferência.
Objeto O valor deve ser um VT_UNKNOWN, que é um objeto que implementa IUnknown.

 

groupingRange Opcional. O padrão é "Discreto". Especifica como a propriedade é exibida quando uma exibição é agrupada por essa propriedade. Depois de definidos aqui, esses valores são recuperados por IPropertyDescription::GetGroupingRange. Veja a seguir tipos válidos.
Valor Significado
Discreto Padrão. Exibe valores individuais.
Alfanumérico Exibe intervalos alfanuméricos estáticos para valores.
Tamanho Exibe intervalos de tamanho estático para valores.
Data Exibe grupos de mês/ano. Padrão para propriedades de type="DateTime".
TimeRelative É exibido em grupos relativos ao tempo.
Dinâmico Exibe intervalos criados dinamicamente para os valores.
Porcentagem Exibe buckets de porcentagem.

 

isInnate Público. Opcional. O padrão é "false". Especifica se a propriedade é considerada inata. Uma propriedade inata é aquela que é calculada a partir do conteúdo de um arquivo ou de outros recursos ou sistemas. Por exemplo, System.Size é uma propriedade inata fornecida pelo sistema de arquivos; alterar o valor da propriedade em e em si não faz nada. Outros exemplos são System.Image.Dimensions e System.Document.PageCount, que são calculados por programas com base no conteúdo do arquivo, não com base em uma configuração alterável pelo usuário. Definir isInnate="true" significa que o usuário não pode editar essa propriedade diretamente por meio de um controle de propriedade. Esse valor é mapeado para o sinalizador PDTF_ISINNATE definido em PROPDESC_TYPE_FLAGS e usado em IPropertyDescription::GetTypeFlags.
canBePurged Windows Vista com Service Pack 1 (SP1) e somente posterior. Público. Opcional. Quando definido como "true", permite que uma propriedade inata seja excluída. As propriedades inatas, calculadas a partir de outras propriedades, são somente leitura por definição. O valor padrão desse atributo depende do valor isInnate .
isInnate Valor padrão canBePurged
true false
false true

 

Observação:
Uma propriedade cujo valor isInnate é "false" (o que significa que a propriedade é leitura/gravação) também não pode definir o valor canBePurged como "false". Essa restrição é imposta pelo sistema operacional.

 

Embora esse atributo tenha sido introduzido no Windows Vista com o Service Pack 1 (SP1), um arquivo .propdesc que inclui esse atributo é compatível com o Windows Vista antes do Windows Vista com o SP1. O atributo canBePurged é simplesmente ignorado nessa situação.

multipleValues Público. Opcional. O padrão é "false". Especifica se essa propriedade pode ter vários valores. Esse valor é mapeado para o sinalizador de PDTF_MULTIPLEVALUES definido em PROPDESC_TYPE_FLAGS e usado em IPropertyDescription::GetTypeFlags. Isso também influencia se VT_VECTOR é OR'd para o VARTYPE do valor da propriedade.
isGroup Público. Opcional. O padrão é "false". Especifica se a propriedade é um título de grupo. Um título de grupo é estritamente usado em proplists, não tem valor, nunca é armazenado em um arquivo e também deve ter <typeInfo type="Null">. Algumas interfaces do usuário no sistema usam proplists para indicar a sequência das propriedades a serem exibidas. Essas listas de proplists podem incluir referências a títulos de grupo (por exemplo, System.PropGroup.Camera), que dizem à interface do usuário para iniciar uma nova seção de grupo (por exemplo, "Configurações da Câmera"). Uma descrição da propriedade com isGroup="true" deve especificar um <rótuloInfo label="Some localized label",> caso contrário, não é uma propriedade útil. Esse valor é mapeado para o sinalizador de PDTF_ISGROUP definido em PROPDESC_TYPE_FLAGS e usado em IPropertyDescription::GetTypeFlags.
aggregationType Público. Opcional. O padrão é "Padrão". Especifica como as propriedades de agregação são exibidas quando vários itens são selecionados. Depois de definidos aqui, esses valores são recuperados por IPropertyDescription::GetAggregationType como um PROPDESC_AGGREGATION_TYPE. Veja a seguir tipos válidos.
Valor Significado
Padrão Padrão. Exibe um espaço reservado para vários valores na interface do usuário. Esse será o padrão se o tipo for incompatível com o aggregationType especificado.
Primeiro Exibe o valor da propriedade do primeiro item na seleção ou coleção.
Somar Exibe a soma dos valores numéricos. Útil para propriedades como System.Media.Duration ou System.Size. Esse valor não é compatível com tipos não numéricos.
Média Exibe a média dos valores numéricos. Útil para propriedades como System.Rating. Esse valor não é compatível com tipos não numéricos.
DateRange Exibe um intervalo de datas. Útil para propriedades como System.Photo.DateTaken. Esse valor não é compatível com nada, exceto type="DateTime" e é o padrão para propriedades desse tipo.
Union Exibe uma união de todos os valores na seleção ou coleção. A ordem na qual os valores são mostrados é indefinida. Esse valor é o padrão para propriedades de type="String" e multipleValues="true".
Máximo Exibe o valor máximo na coleção. Útil para propriedades como System.DateModified. Não compatível com tipos não numéricos ou não datas.
Mínimo Exibe o valor mínimo na coleção. Não compatível com tipos não numéricos ou não datas.

 

isTreeProperty Público. Opcional. O valor padrão é "false".
isViewable Público. Opcional. O valor padrão é "false". Especifica se essa propriedade deve ser visualizada para o usuário. Por exemplo, a interface do usuário do Seletor de Colunas mostra apenas as propriedades que têm isViewable="true". A exceção é a interface do usuário controlada por uma proplist, que sempre mostrará a propriedade . Se você tiver uma propriedade destinada apenas a transportar dados entre dois objetos e nunca tiver a intenção de ser exibida pelo usuário, esse atributo deverá ser falso. Esse valor é mapeado para o sinalizador PDTF_ISVIEWABLE definido em PROPDESC_TYPE_FLAGS e usado em IPropertyDescription::GetTypeFlags.
isQueryable Somente Windows Vista. Sem suporte no Windows 7 e posteriores. Público. Opcional. O valor padrão é "false". Especifica se essa propriedade deve estar disponível na interface do usuário do Construtor de Consultas de Pesquisa. Uma propriedade deve ter isViewable="true" antes de isQueryable="true" ser respeitada. Esse valor é mapeado para o sinalizador PDTF_ISQUERYABLE definido em PROPDESC_TYPE_FLAGS e usado em IPropertyDescription::GetTypeFlags.
searchRawValue Windows 7 e posterior. Público. Opcional. O valor padrão é "false".
includeInFullTextQuery Somente Windows Vista. Sem suporte no Windows 7 e posterior. Público. Opcional. O valor padrão é "false".
conditionType Público. Opcional. O padrão é "String". Especifica uma dica para a interface do usuário do Construtor de Consultas de Pesquisa para que ela possa determinar a lista de possíveis operadores de condição dentro de um predicado. Veja a seguir valores reconhecidos.
Valor Significado
String Padrão. Os operadores a seguir serão usados: "is", "is", "not", "<>", "<=", ">=", "starts with", "ends with", "contains", "doesn't contain", "is like".
Número Padrão para propriedades numéricas. Os seguintes operadores serão usados: "equals", "doesn't equal", "is less than", "is greater than", "is less than or equal to", "is greater than or equal to".
Datetime Padrão para propriedades de type="DateTime". Os operadores a seguir serão usados: "is", "is", "is not", "is before", "is after", "is before but includes", "is after but includes".
Boolean Padrão para propriedades de type="Boolean". O mesmo que Número.
Tamanho O mesmo que Número.

 

defaultOperation Público. Opcional. O padrão é "Igual". Especifica uma dica para a ferramenta Construtor de Consultas de Pesquisa para que ela possa determinar o operador padrão. Os valores possíveis são os seguintes:
Valor Significado
Igual Padrão. Indica equivalente.
NotEqual Indica que não é equivalente.
LessThan Indica menor que.
GreaterThan Padrão para propriedades de conditionType="Size". Indica maior que.
Contém Padrão para propriedades de conditionType="String". Indica inclusão.