Méthode IShellItemArray ::GetPropertyStore (shobjidl_core.h)
Obtient un magasin de propriétés.
Syntaxe
HRESULT GetPropertyStore(
[in] GETPROPERTYSTOREFLAGS flags,
[in] REFIID riid,
[out] void **ppv
);
Paramètres
[in] flags
Type : GETPROPERTYSTOREFLAGS
Une des constantes GETPROPERTYSTOREFLAGS .
[in] riid
Type : REFIID
IID du type d’objet à récupérer.
[out] ppv
Type : void**
Lorsque cette méthode est retournée, contient le pointeur d’interface demandé dans riid. Il s’agit généralement de IPropertyStore ou IPropertyStoreCapabilities.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Cette méthode est utilisée pour obtenir un magasin de propriétés en lecture seule qui agrège les propriétés collectées à partir de tous les éléments du tableau d’éléments de l’interpréteur de commandes.
S’il existe plusieurs éléments dans le tableau d’éléments de l’interpréteur de commandes, le magasin de propriétés résultant agrège les valeurs de chaque élément en fonction d’un ensemble de règles déterminé par chaque propriété. Les valeurs lues à partir du magasin de propriétés sont converties sous une forme canonique avant l’agrégation, comme indiqué dans CoerceToCanonicalValue. La sortie d’un appel à IPropertyStore ::GetValue est calculée comme suit :
- Les propriétés à valeur unique suivent la règle spécifiée par la chaîne de type d’agrégation dans le schéma de description de propriété.
-
- Si le type d’agrégation est « DateRange » et que le type de propriété est un filetime, retourne un VT_VECTOR | VT_FILETIME de deux valeurs, ou une valeur VT_FILETIME si les valeurs étaient identiques.
- Si le type d’agrégation est « First », retourne la première valeur non vide.
- Si le type d’agrégation est « Sum », retourne la somme.
- Si le type d’agrégation est « Moyenne », retourne la moyenne de toutes les valeurs non vides.
- Si le type d’agrégation est « Minimum », retourne la valeur minimale.
- Si le type d’agrégation est « Union » et que le type de propriété est une chaîne, retourne un VT_VECTOR | VT_LPWSTR contenant l’union de valeurs. L’ordre des valeurs n’est pas spécifié.
- Si le type d’agrégation n’est pas spécifié, incompatible ou « Par défaut », retourne une valeur unique si elle est identique pour tous les éléments du tableau, ou une valeur spéciale utilisée pour indiquer que les valeurs diffèrent entre certains éléments. La valeur spéciale est un VT_VECTOR | VT_LPWSTR contenant deux chaînes : « Multiple » et « Valeurs ». Les applications appelantes doivent case activée pour cette valeur spéciale en recherchant VT_VECTOR | VT_LPWSTR si GetTypeFlags indique que la propriété a une valeur unique.
- Les propriétés de chaîne à valeurs multiples retournent une intersection de leurs chaînes. L’ordre n’est pas spécifié.
L’appel d’applications peut obtenir d’autres comportements d’agrégation en accédant directement aux éléments de l’interpréteur de commandes individuels et à leurs magasins de propriétés. Consultez IPropertyStore ::GetCount, IPropertyStore ::GetAt et GetPropertyStore.
L’écriture dans un tableau d’éléments d’interpréteur de commandes est prise en charge via l’API IFileOperation .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (incluez Shobjidl.h) |