Compartir a través de


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)