Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico apresenta o esquema de descrição de propriedade usado pelo sistema de propriedades Shell.
A introdução de novos recursos para o Windows Vista e posterior exigiu que o sistema de propriedades Shell existente fosse estendido para:
- Ofereça suporte a um sistema de descrição de propriedade avançado e extensível que fornece informações sobre propriedades, incluindo nomes de exibição, tipo, tipo de exibição, comportamento de classificação e grupo e outros atributos necessários para apresentar e operar sobre as propriedades.
- Suportar uma lista de tipos de propriedade (combinada com a interface do utilizador que pode editar esses tipos em diferentes modos de exibição, como modo lista, painel de pré-visualização, caixas de diálogo de propriedades, e assim por diante) que podem ser associados a várias propriedades.
- Forneça listas de descrição de propriedades, que definem o conjunto de propriedades exibidas em vários modos de exibição.
- Forneça uma interface simplificada, IPropertyStore, para que os manipuladores de propriedades possam ser escritos mais facilmente e para que as propriedades possam ser persistidas nos arquivos.
- Suporte para manipuladores de propriedades não relacionadas a arquivos para expor propriedades na vista.
Esses recursos são alcançados em uma arquitetura que fornece acesso abstrato às propriedades de um item do Shell. Essa abstração é chamada de sistema de propriedades Shell.
- Qual é o esquema de descrição da propriedade?
- Por que usar um esquema?
- Quais são as principais partes do esquema?
- Alterações para o Windows 7
- Tópicos relacionados
O que é o esquema de descrição da propriedade?
O subsistema de esquema consiste no seguinte:
- Um ou mais arquivos de esquema .propdesc que definem descrições de propriedade. O esquema de descrição da propriedade é definido em uma coleção de arquivos de esquema XML (usando a extensão de arquivo .propdesc) em tempo de execução no sistema. Esses arquivos são carregados com preguiça quando uma parte do sistema de propriedade os exige.
- Um cache de esquema na memória usado para armazenar os arquivos de esquema analisados, que incluem todas as descrições de propriedade introduzidas no subsistema. Não há necessidade de reanalisar os arquivos de configuração .propdesc que descrevem o esquema. Para obter mais informações, consulte PSRegisterPropertySchema, PSUnregisterPropertySchemae PSRefreshPropertySchema.
- Um objeto de subsistema que implementa IPropertySystem, que é usado para obter ou trabalhar com descrições de propriedade.
- Um objeto de subsistema que implementa IPropertyDescription, que é usado para informar e operar com base em uma descrição de propriedade.
- Um objeto de subsistema que implementa IPropertyDescriptionList, que é usado como uma coleção de descrições de propriedade.
Observação
Você deve adicionar xmlns=http://schemas.microsoft.com/windows/2006/propertydescription ao elemento de esquema raiz de seus arquivos .propdesc.
Por que usar um esquema?
As propriedades, por si só, não são seguras para tipos. Um componente pode atribuir um valor numérico à propriedade System.Author ou um carimbo de data FILETIME à propriedade System.Music.AlbumTitle e, sem qualquer imposição ou orientação adicional, os repositórios de propriedades permitirão isso. Então, precisávamos de uma noção para "esquematizar" as propriedades, o que nos leva ao subsistema do esquema.
Quais são as principais partes do esquema?
O esquema de descrição de propriedade usado pelo sistema de propriedades Shell é composto por um único elemento propertyDescriptionList, bem como um atributo schemaVersion, que indica a versão desse formato de definição de esquema. Nota: o valor deve ser "1.0".
<!-- schema -->
<xs:element name="schema">
<xs:complexType>
<xs:sequence>
<xs:element ref="propertyDescriptionList" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="schemaVersion" type="xs:string"/>
</xs:complexType>
</xs:element>
O propertyDescriptionList é composto por um ou mais elementos propertyDescription, bem como atributos publisher e produto.
<!-- propertyDescriptionList -->
<xs:element name="propertyDescriptionList">
<xs:complexType>
<xs:sequence>
<xs:element ref="propertyDescription" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="publisher" type="xs:string"/>
<xs:attribute name="product" type="xs:string"/>
</xs:complexType>
</xs:element>
Um propertyDescription é composto por um searchInfo e zero ou um labelInfo, typeInfo, e displayInfo elemento, bem como os atributos formatID, propID, propstr, e name.
Deve haver um elemento propertyDescription para cada nome de propriedade canônica exclusivo que se destina a estar disponível no sistema. Os atributos de cadeia de caracteres têm um limite de 512 caracteres. Valores maiores que 512 caracteres são truncados.
<!-- propertyDescription -->
<xs:element name="propertyDescription">
<xs:complexType>
<xs:all>
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element ref="searchInfo" minOccurs="1" maxOccurs="1"/>
<xs:element ref="labelInfo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="typeInfo" minOccurs="0" maxOccurs="1"/>
<xs:element ref="displayInfo" minOccurs="0" maxOccurs="1"/>
</xs:all>
<xs:attribute name="formatID" type="upcase-uuid" use="required""/>
<xs:attribute name="propID" type="xs:nonNegativeInteger" use="required""/>
<xs:attribute name="name" type="canonical-name" use="required"/>
</xs:complexType>
</xs:element>
Alterações para o Windows 7
O esquema de descrição da propriedade foi alterado para o Windows 7. Estas são alterações não disruptivas. Se um elemento ou atributo de propriedade não for mais suportado no Windows 7, o sistema operacional Windows 7 ignorará o elemento ou atributos do Windows Vista. Da mesma forma, o Windows Vista também ignora novos elementos ou atributos de propriedade do Windows 7.
No entanto, a atualização de propriedades personalizadas para o Windows 7 é recomendada para uma experiência de usuário melhor e mais consistente.
A seguir estão novos elementos e atributos:
- informaçãoDaPropriedadeRelatada e propriedadeRelatada elementos
- imagem elemento
- atributo mnemonics do elemento searchInfo
- atributo mnemônico do enum elemento
- atributo searchRawValue do elemento typeInfo
Os seguintes elementos e atributos foram alterados:
- listaEnumerada, enume intervaloEnum elementos
- elemento drawControl
- editControl elemento
- atributo propID do elemento propertyDescription da propriedade
- atributo columnIndexType do elemento searchInfo
Os seguintes elementos e atributos foram removidos:
- queryControl elemento
- atributo isQueryable do elemento typeInfo
- atributo includeInFullTextQuery do elemento typeInfo da
Tópicos relacionados