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