Partager via


Fonction SHGetViewStatePropertyBag (shlwapi.h)

[SHGetViewStatePropertyBag est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il peut être modifié ou indisponible dans les versions suivantes.]

Récupère un conteneur de propriétés dans lequel les informations d’état d’affichage d’un dossier peuvent être stockées, puis récupérées. Les paramètres de l’utilisateur sont conservés pour la prochaine fois qu’il visite le dossier.

Syntaxe

LWSTDAPI SHGetViewStatePropertyBag(
  [in, optional] PCIDLIST_ABSOLUTE pidl,
  [in, optional] PCWSTR            pszBagName,
                 DWORD             dwFlags,
  [in]           REFIID            riid,
  [out]          void              **ppv
);

Paramètres

[in, optional] pidl

Type : PCIDLIST_ABSOLUTE

PIDL du dossier pour lequel vous demandez des propriétés. Ce paramètre doit être NULL si l’indicateur SHGVSPB_ALLFOLDERS est passé.

[in, optional] pszBagName

Type : PCWSTR

Pointeur vers une chaîne qui contient le nom du conteneur de propriétés demandé.

dwFlags

Type : DWORD

Valeur qui spécifie une combinaison des indicateurs suivants.

Une valeur de l’ensemble d’indicateurs suivant est requise.

SHGVSPB_PERUSER

Retourne les propriétés par utilisateur pour le pidl spécifié.

SHGVSPB_ALLUSERS

Retourne les propriétés All User pour le pidl spécifié.

Une valeur de l’ensemble d’indicateurs suivant est requise.

SHGVSPB_PERFOLDER

Retourne le conteneur de propriétés pour le dossier spécifié par le paramètre pidl .

SHGVSPB_ALLFOLDERS

Retourne le conteneur de propriétés qui s’applique à tous les dossiers.

SHGVSPB_INHERIT

Retourne le conteneur de propriétés utilisé pour fournir des valeurs par défaut pour les sous-dossiers qui n’ont pas leur conteneur de propriétés.

Les indicateurs suivants sont facultatifs.

SHGVSPB_ROAM

Autorise l’itinérance du conteneur de propriétés. Consultez Profils utilisateur itinérants. Cet indicateur ne peut pas être combiné avec SHGVSPB_ALLFOLDERS.

SHGVSPB_NOAUTODEFAULTS

Supprime la recherche d’une valeur par défaut appropriée lorsque le conteneur de propriétés est introuvable pour le dossier spécifié. Par défaut, si SHGVSPB_INHERIT n’est pas spécifié et qu’un conteneur de propriétés est introuvable pour le dossier spécifié, le système recherche des sacs de propriétés de même nom dans d’autres emplacements qui peuvent être en mesure de fournir des valeurs par défaut. Par exemple, le système recherche dans les ancêtres du dossier pour voir si l’un d’entre eux fournit un conteneur de propriétés SHGVSPB_INHERIT. Les autres emplacements où les recherches système se trouvent dans les valeurs par défaut utilisateur et les valeurs par défaut globales.

L’ensemble d’indicateurs suivant se compose de valeurs qui combinent certains indicateurs répertoriés ci-dessus et sont utilisés pour des raisons de concision et de commodité.

SHGVSPB_FOLDER

Combine SHGVSPB_PERUSER et SHGVSPB_PERFOLDER.

SHGVSPB_FOLDERNODEFAULTS

Combine SHGVSPB_PERUSER, SHGVSPB_PERFOLDER et SHGVSPB_NOAUTODEFAULTS.

SHGVSPB_USERDEFAULTS

Combine SHGVSPB_PERUSER et SHGVSPB_ALLFOLDERS.

SHGVSPB_GLOBALDEFAULTS

Combine SHGVSPB_ALLUSERS et SHGVSPB_ALLFOLDERS.

Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cet indicateur est nommé SHGVSPB_GLOBALDEAFAULTS.

[in] riid

Type : REFIID

Référence à l’IID de l’interface à récupérer via ppv.

[out] ppv

Type : void**

Lorsque cette méthode retourne correctement, contient le pointeur d’interface demandé dans riid.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Remarques

Les informations critiques ne doivent pas être stockées dans le conteneur de propriétés d’état d’affichage, car le système ne conserve qu’un nombre limité d’états d’affichage. Si un dossier n’est pas visité pendant une longue période, son état d’affichage est finalement supprimé.

Nous vous recommandons d’utiliser la macro IID_PPV_ARGS , définie dans Objbase.h, pour empaqueter les paramètres riid et ppv . Cette macro fournit l’IID correct en fonction de l’interface pointée par la valeur dans ppv, ce qui élimine la possibilité d’une erreur de codage dans riid qui pourrait entraîner des résultats inattendus.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shlwapi.h
Bibliothèque Shlwapi.lib
DLL Shlwapi.dll (version 5.0 ou ultérieure)