SHGetViewStatePropertyBag-Funktion (shlwapi.h)
[SHGetViewStatePropertyBag ist für die Verwendung in den Betriebssystemen verfügbar, die im Abschnitt Anforderungen angegeben sind. Sie kann in nachfolgenden Versionen geändert oder nicht verfügbar sein.]
Ruft einen Eigenschaftenbehälter ab, in dem die Ansichtsstatusinformationen für einen Ordner gespeichert und anschließend abgerufen werden können. Die Einstellungen des Benutzers werden für das nächste Mal beibehalten, wenn der Benutzer den Ordner das nächste Mal besucht.
Syntax
LWSTDAPI SHGetViewStatePropertyBag(
[in, optional] PCIDLIST_ABSOLUTE pidl,
[in, optional] PCWSTR pszBagName,
DWORD dwFlags,
[in] REFIID riid,
[out] void **ppv
);
Parameter
[in, optional] pidl
Typ: PCIDLIST_ABSOLUTE
Eine PIDL des Ordners, für den Sie Eigenschaften anfordern. Dieser Parameter muss NULL sein, wenn das SHGVSPB_ALLFOLDERS-Flag übergeben wird.
[in, optional] pszBagName
Typ: PCWSTR
Ein Zeiger auf eine Zeichenfolge, die den Namen des angeforderten Eigenschaftenbehälters enthält.
dwFlags
Art: DWORD
Ein Wert, der eine Kombination der folgenden Flags angibt.
Ein Wert aus den folgenden Flags ist erforderlich.
SHGVSPB_PERUSER
Gibt die Benutzereigenschaften für die angegebene pidl zurück.
SHGVSPB_ALLUSERS
Gibt die Eigenschaften "Alle Benutzer" für die angegebene pidl zurück.
Ein Wert aus den folgenden Flags ist erforderlich.
SHGVSPB_PERFOLDER
Gibt den Eigenschaftenbehälter für den durch den pidl-Parameter angegebenen Ordner zurück.
SHGVSPB_ALLFOLDERS
Gibt den Eigenschaftenbehälter zurück, der für alle Ordner gilt.
SHGVSPB_INHERIT
Gibt den Eigenschaftenbehälter zurück, der verwendet wird, um Standardwerte für Unterordner bereitzustellen, die nicht über ihren Eigenschaftenbehälter verfügen.
Die folgenden Flags sind optional.
SHGVSPB_ROAM
Ermöglicht das Herumlaufen des Eigenschaftenbehälters. Weitere Informationen finden Sie unter Roamingbenutzerprofile. Dieses Flag kann nicht mit SHGVSPB_ALLFOLDERS kombiniert werden.
SHGVSPB_NOAUTODEFAULTS
Unterdrückt die Suche nach einem geeigneten Standard, wenn der Eigenschaftenbehälter für den angegebenen Ordner nicht gefunden werden kann. Wenn SHGVSPB_INHERIT nicht angegeben ist und ein Eigenschaftenbehälter für den angegebenen Ordner nicht gefunden werden kann, sucht das System standardmäßig nach identisch benannten Eigenschaftenbehältern an anderen Speicherorten, die möglicherweise Standardwerte bereitstellen können. Das System sucht beispielsweise in den Vorgängern des Ordners, um zu überprüfen, ob einer von ihnen einen SHGVSPB_INHERIT Eigenschaftenbehälter bereitstellt. An anderen Stellen, an denen die Systemsuchen durchgeführt werden, befinden sich die Benutzerstandardeinstellungen und die globalen Standardwerte.
Der folgende Satz von Flags besteht aus Werten, die einige oben aufgeführte Flags kombinieren und aus Gründen der Kürze und Bequemlichkeit verwendet werden.
SHGVSPB_FOLDER
Kombiniert SHGVSPB_PERUSER und SHGVSPB_PERFOLDER.
SHGVSPB_FOLDERNODEFAULTS
Kombiniert SHGVSPB_PERUSER, SHGVSPB_PERFOLDER und SHGVSPB_NOAUTODEFAULTS.
SHGVSPB_USERDEFAULTS
Kombiniert SHGVSPB_PERUSER und SHGVSPB_ALLFOLDERS.
SHGVSPB_GLOBALDEFAULTS
Kombiniert SHGVSPB_ALLUSERS und SHGVSPB_ALLFOLDERS.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieses Flag wird SHGVSPB_GLOBALDEAFAULTS genannt.
[in] riid
Typ: REFIID
Ein Verweis auf die IID der Schnittstelle, die über ppv abgerufen werden soll.
[out] ppv
Typ: void**
Wenn diese Methode erfolgreich zurückgibt, enthält den in riid angeforderten Schnittstellenzeiger.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Kritische Informationen sollten nicht im Eigenschaftenbehälter ansichtsstatus gespeichert werden, da das System nur eine begrenzte Anzahl von Ansichtszuständen beibehält. Wenn ein Ordner lange Zeit nicht besucht wird, wird sein Ansichtsstatus schließlich gelöscht.
Es wird empfohlen, das makro IID_PPV_ARGS zu verwenden, das in Objbase.h definiert ist, um die Parameter riid und ppv zu packen. Dieses Makro stellt die richtige IID basierend auf der Schnittstelle bereit, auf die der Wert in ppv verweist, wodurch die Möglichkeit eines Codierungsfehlers in riid beseitigt wird, der zu unerwarteten Ergebnissen führen kann.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | shlwapi.h |
Bibliothek | Shlwapi.lib |
DLL | Shlwapi.dll (Version 5.0 oder höher) |