Función SHGetViewStatePropertyBag (shlwapi.h)
[SHGetViewStatePropertyBag está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores.
Recupera un contenedor de propiedades en el que se puede almacenar y recuperar posteriormente la información de estado de vista de una carpeta. La configuración del usuario se mantiene la próxima vez que el usuario visite la carpeta.
Sintaxis
LWSTDAPI SHGetViewStatePropertyBag(
[in, optional] PCIDLIST_ABSOLUTE pidl,
[in, optional] PCWSTR pszBagName,
DWORD dwFlags,
[in] REFIID riid,
[out] void **ppv
);
Parámetros
[in, optional] pidl
Tipo: PCIDLIST_ABSOLUTE
PIDL de la carpeta para la que solicita propiedades. Este parámetro debe ser NULL si se pasa la marca SHGVSPB_ALLFOLDERS.
[in, optional] pszBagName
Tipo: PCWSTR
Puntero a una cadena que contiene el nombre del contenedor de propiedades solicitado.
dwFlags
Tipo: DWORD
Valor que especifica una combinación de las marcas siguientes.
Se requiere un valor del siguiente conjunto de marcas.
SHGVSPB_PERUSER
Devuelve las propiedades por usuario del pidl especificado.
SHGVSPB_ALLUSERS
Devuelve las propiedades All User para el pidl especificado.
Se requiere un valor del siguiente conjunto de marcas.
SHGVSPB_PERFOLDER
Devuelve el contenedor de propiedades de la carpeta especificada por el parámetro pidl .
SHGVSPB_ALLFOLDERS
Devuelve el contenedor de propiedades que se aplica a todas las carpetas.
SHGVSPB_INHERIT
Devuelve el contenedor de propiedades usado para proporcionar valores predeterminados para las subcarpetas que no tienen su contenedor de propiedades.
Las marcas siguientes son opcionales.
SHGVSPB_ROAM
Permite que el contenedor de propiedades se mueva. Consulte Perfiles de usuario móviles. Esta marca no se puede combinar con SHGVSPB_ALLFOLDERS.
SHGVSPB_NOAUTODEFAULTS
Suprime la búsqueda de un valor predeterminado adecuado cuando no se encuentra el contenedor de propiedades para la carpeta especificada. De forma predeterminada, si no se especifica SHGVSPB_INHERIT y no se encuentra un contenedor de propiedades para la carpeta especificada, el sistema busca bolsas de propiedades con nombre idéntico en otras ubicaciones que puedan proporcionar valores predeterminados. Por ejemplo, el sistema busca en los antecesores de la carpeta para ver si alguno de ellos proporciona un contenedor de propiedades SHGVSPB_INHERIT. Otros lugares en los que el sistema busca se encuentran en los valores predeterminados del usuario y los valores predeterminados globales.
El siguiente conjunto de marcas consta de valores que combinan algunas marcas enumeradas anteriormente y se usan para mayor brevedad y comodidad.
SHGVSPB_FOLDER
Combina SHGVSPB_PERUSER y SHGVSPB_PERFOLDER.
SHGVSPB_FOLDERNODEFAULTS
Combina SHGVSPB_PERUSER, SHGVSPB_PERFOLDER y SHGVSPB_NOAUTODEFAULTS.
SHGVSPB_USERDEFAULTS
Combina SHGVSPB_PERUSER y SHGVSPB_ALLFOLDERS.
SHGVSPB_GLOBALDEFAULTS
Combina SHGVSPB_ALLUSERS y SHGVSPB_ALLFOLDERS.
Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Esta marca se denomina SHGVSPB_GLOBALDEAFAULTS.
[in] riid
Tipo: REFIID
Referencia al IID de la interfaz que se va a recuperar a través de ppv.
[out] ppv
Tipo: void**
Cuando este método devuelve correctamente, contiene el puntero de interfaz solicitado en riid.
Valor devuelto
Tipo: HRESULT
Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
La información crítica no debe almacenarse en el contenedor de propiedades de estado de vista porque el sistema mantiene solo un número limitado de estados de vista. Si una carpeta no se visita durante mucho tiempo, su estado de vista se elimina finalmente.
Se recomienda usar la macro IID_PPV_ARGS , definida en Objbase.h, para empaquetar los parámetros riid y ppv . Esta macro proporciona el IID correcto basado en la interfaz a la que apunta el valor en ppv, lo que elimina la posibilidad de un error de codificación en riid que podría dar lugar a resultados inesperados.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Library | Shlwapi.lib |
Archivo DLL | Shlwapi.dll (versión 5.0 o posterior) |