Condividi tramite


Funzione SHGetViewStatePropertyBag (shlwapi.h)

[SHGetViewStatePropertyBag è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.

Recupera un contenitore di proprietà in cui è possibile archiviare e recuperare le informazioni sullo stato di visualizzazione per una cartella. Le impostazioni dell'utente vengono mantenute per la successiva volta che l'utente visita la cartella.

Sintassi

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

Parametri

[in, optional] pidl

Tipo: PCIDLIST_ABSOLUTE

PiDL della cartella per cui si richiedono proprietà. Questo parametro deve essere NULL se viene passato il flag SHGVSPB_ALLFOLDERS.

[in, optional] pszBagName

Tipo: PCWSTR

Puntatore a una stringa contenente il nome del contenitore delle proprietà richieste.

dwFlags

Tipo: DWORD

Valore che specifica una combinazione dei flag seguenti.

È necessario un valore del set di flag seguente.

SHGVSPB_PERUSER

Restituisce le proprietà per utente per il pidl specificato.

SHGVSPB_ALLUSERS

Restituisce le proprietà All User per il pidl specificato.

È necessario un valore del set di flag seguente.

SHGVSPB_PERFOLDER

Restituisce il contenitore delle proprietà per la cartella specificata dal parametro pidl .

SHGVSPB_ALLFOLDERS

Restituisce il contenitore delle proprietà che si applica a tutte le cartelle.

SHGVSPB_INHERIT

Restituisce il contenitore delle proprietà usato per specificare le impostazioni predefinite per le sottocartelle che non hanno il contenitore delle proprietà.

I flag seguenti sono facoltativi.

SHGVSPB_ROAM

Consente alla borsa delle proprietà di spostarsi. Vedere Profili utente mobili. Questo flag non può essere combinato con SHGVSPB_ALLFOLDERS.

SHGVSPB_NOAUTODEFAULTS

Elimina la ricerca di un valore predefinito appropriato quando non è possibile trovare il contenitore delle proprietà per la cartella specificata. Per impostazione predefinita, se SHGVSPB_INHERIT non è specificato e non è possibile trovare un contenitore di proprietà per la cartella specificata, il sistema cerca i contenitori di proprietà denominati identica in altre posizioni che potrebbero essere in grado di fornire valori predefiniti. Ad esempio, il sistema cerca nei predecessori della cartella per verificare se uno di essi fornisce un contenitore di proprietà SHGVSPB_INHERIT. Altre posizioni le ricerche di sistema si trovano nelle impostazioni predefinite dell'utente e nelle impostazioni predefinite globali.

Il set di flag seguente è costituito da valori che combinano alcuni flag elencati sopra e vengono usati per brevità e praticità.

SHGVSPB_FOLDER

Combina SHGVSPB_PERUSER e SHGVSPB_PERFOLDER.

SHGVSPB_FOLDERNODEFAULTS

Combina SHGVSPB_PERUSER, SHGVSPB_PERFOLDER e SHGVSPB_NOAUTODEFAULTS.

SHGVSPB_USERDEFAULTS

Combina SHGVSPB_PERUSER e SHGVSPB_ALLFOLDERS.

SHGVSPB_GLOBALDEFAULTS

Combina SHGVSPB_ALLUSERS e SHGVSPB_ALLFOLDERS.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag è denominato SHGVSPB_GLOBALDEAFAULTS.

[in] riid

Tipo: REFIID

Riferimento all'IID dell'interfaccia da recuperare tramite ppv.

[out] ppv

Tipo: void**

Quando questo metodo restituisce correttamente, contiene il puntatore dell'interfaccia richiesto in riid.

Valore restituito

Tipo: HRESULT

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Le informazioni critiche non devono essere archiviate nel contenitore delle proprietà dello stato di visualizzazione perché il sistema mantiene solo un numero limitato di stati di visualizzazione. Se una cartella non viene visitata per molto tempo, lo stato di visualizzazione viene eliminato.

È consigliabile usare la macro IID_PPV_ARGS definita in Objbase.h per creare il pacchetto dei parametri riid e ppv . Questa macro fornisce l'IID corretto in base all'interfaccia a cui punta il valore in ppv, che elimina la possibilità di un errore di codifica in riid che potrebbe causare risultati imprevisti.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 5.0 o successiva)