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