Condividi tramite


Informazioni sullo schema della descrizione delle proprietà

In questo argomento viene presentato lo schema di descrizione delle proprietà usato dal sistema di proprietà shell.

L'introduzione di nuove funzionalità per Windows Vista e versioni successive richiedeva l'estensione del sistema di proprietà shell esistente a:

  • Supporta un sistema di descrizione delle proprietà avanzato ed estendibile che fornisce informazioni sulle proprietà, tra cui nomi visualizzati, tipo, tipo di visualizzazione, comportamento di ordinamento e gruppo e altri attributi necessari per presentare e operare sulle proprietà.
  • Supportare un elenco di tipi di proprietà (combinato con l'interfaccia utente che può modificare tali tipi in visualizzazioni diverse, ad esempio la visualizzazione elenco, il riquadro di anteprima, le finestre di dialogo delle proprietà e così via) che possono essere associati a varie proprietà.
  • Fornire elenchi di descrizioni delle proprietà, che definiscono il set di proprietà visualizzate in varie viste.
  • Fornire un'interfaccia semplificata, IPropertyStore, in modo che i gestori delle proprietà possano essere scritti più facilmente e in modo che le proprietà possano essere rese persistenti nei file.
  • Supporto per gestori di proprietà non file per esporre le proprietà nella visualizzazione.

Queste funzionalità vengono ottenute su un'architettura che fornisce l'accesso astratto alle proprietà di un elemento della shell. Questa astrazione è denominata sistema di proprietà shell.

Che cos'è lo schema della descrizione delle proprietà?

Il sottosistema dello schema è costituito dai seguenti elementi:

  • Uno o più file di schema propdesc che definiscono le descrizioni delle proprietà. Lo schema della descrizione della proprietà viene definito in una raccolta di file XML Schema (usando l'estensione di file propdesc) in fase di esecuzione nel sistema. Questi file vengono caricati in modo ritardato quando una parte del sistema di gestione delle proprietà li richiede.
  • Cache dello schema in memoria usata per archiviare i file di schema analizzati, che includono tutte le descrizioni delle proprietà introdotte nel sottosistema. Non è necessario riparse i file di configurazione con estensione propdesc che descrivono lo schema. Per altre informazioni, vedere PSRegisterPropertySchema, PSUnregisterPropertySchemae PSRefreshPropertySchema.
  • Oggetto sottosistema che implementa IPropertySystem, che viene usato per ottenere o utilizzare le descrizioni delle proprietà.
  • Oggetto sottosistema che implementa IPropertyDescription, che viene usato per informare e operare in base a una descrizione della proprietà.
  • Oggetto sottosistema che implementa IPropertyDescriptionList, che viene usato come raccolta di descrizioni delle proprietà.

Nota

È necessario aggiungere xmlns=http://schemas.microsoft.com/windows/2006/propertydescription all'elemento dello schema radice dei file con estensione .propdesc.

 

Perché usare uno schema?

Le proprietà, da sole, non sono sicure rispetto ai tipi. Un componente può assegnare un valore numerico alla proprietà System.Author o un FILETIME datastamp alla proprietà System.Music.AlbumTitle e, senza ulteriori imposizione o indicazioni, gli archivi di proprietà lo consentiranno. Quindi, era necessario un concetto per "schematizzare" le proprietà, che ci porta al sottosistema dello schema.

Quali sono le parti principali dello schema?

Lo schema della descrizione della proprietà utilizzato dal sistema di proprietà Shell è costituito da un singolo elemento propertyDescriptionList, nonché da un attributo schemaVersion, che indica la versione di questo formato di definizione dello schema. Nota: il valore deve essere "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>

La propertyDescriptionList è composta da uno o più elementi propertyDescription, nonché dagli attributi publisher e product.

<!-- 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>

Un propertyDescription è costituito da un searchInfo e zero o uno labelInfo, typeInfoe displayInfo, nonché formatID, propID, propstre name attributi.

Deve essere presente un elemento propertyDescription per ogni nome di proprietà canonico univoco che deve essere disponibile nel sistema. Gli attributi stringa hanno un limite di 512 caratteri. I valori più lunghi di 512 caratteri vengono troncati.

<!-- 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>

Modifiche per Windows 7

Lo schema della descrizione della proprietà è stato modificato per Windows 7. Si tratta di modifiche non di rilievo. Se un elemento o un attributo di proprietà non è più supportato in Windows 7, il sistema operativo Windows 7 ignora l'elemento o gli attributi di Windows Vista. Analogamente, Windows Vista ignora anche i nuovi elementi o attributi delle proprietà di Windows 7.

Tuttavia, l'aggiornamento delle proprietà personalizzate per Windows 7 è consigliato per un'esperienza utente migliore e più coerente.

Di seguito sono riportati nuovi elementi e attributi:

Sono stati modificati gli elementi e gli attributi seguenti:

Sono stati rimossi gli elementi e gli attributi seguenti:

Descrizione proprietà

informazioniDiRicerca

labelInfo

tipoInfo

displayInfo

stringFormat

booleanFormat

numberFormat

dateTimeFormat

elencoEnumerato

drawControl

editControl

controllo filtro

queryControl

immagine