Share via


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)