Função SHGetViewStatePropertyBag (shlwapi.h)

[SHGetViewStatePropertyBag está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

Recupera um recipiente de propriedades no qual as informações de estado de exibição de uma pasta podem ser armazenadas e recuperadas posteriormente. As configurações do usuário serão mantidas pela próxima vez que o usuário visitar a pasta.

Sintaxe

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

Um PIDL da pasta para a qual você está solicitando propriedades. Esse parâmetro deverá ser NULL se o sinalizador SHGVSPB_ALLFOLDERS for passado.

[in, optional] pszBagName

Tipo: PCWSTR

Um ponteiro para uma cadeia de caracteres que contém o nome do recipiente de propriedades solicitado.

dwFlags

Tipo: DWORD

Um valor que especifica uma combinação dos sinalizadores a seguir.

É necessário um valor do conjunto de sinalizadores a seguir.

SHGVSPB_PERUSER

Retorna as propriedades por usuário para o pidl especificado.

SHGVSPB_ALLUSERS

Retorna as propriedades All User para o pidl especificado.

É necessário um valor do conjunto de sinalizadores a seguir.

SHGVSPB_PERFOLDER

Retorna o recipiente de propriedades para a pasta especificada pelo parâmetro pidl .

SHGVSPB_ALLFOLDERS

Retorna o recipiente de propriedades que se aplica a todas as pastas.

SHGVSPB_INHERIT

Retorna o recipiente de propriedades usado para fornecer padrões para subpastas que não têm seu recipiente de propriedades.

Os sinalizadores a seguir são opcionais.

SHGVSPB_ROAM

Permite que o recipiente de propriedades percorra roaming. Consulte Perfis de usuário móvel. Esse sinalizador não pode ser combinado com SHGVSPB_ALLFOLDERS.

SHGVSPB_NOAUTODEFAULTS

Suprime a pesquisa por um padrão adequado quando o recipiente de propriedades não puder ser encontrado para a pasta especificada. Por padrão, se SHGVSPB_INHERIT não for especificado e um recipiente de propriedades não puder ser encontrado para a pasta especificada, o sistema procurará por recipientes de propriedades nomeados de forma idêntica em outros locais que possam fornecer valores padrão. Por exemplo, o sistema pesquisa nos ancestrais da pasta para ver se algum deles fornece um recipiente de propriedades SHGVSPB_INHERIT. Outros locais em que as pesquisas do sistema estão nos padrões do usuário e nos padrões globais.

O conjunto de sinalizadores a seguir consiste em valores que combinam alguns sinalizadores listados acima e são usados para brevidade e conveniência.

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: Esse sinalizador é nomeado SHGVSPB_GLOBALDEAFAULTS.

[in] riid

Tipo: REFIID

Uma referência ao IID da interface a ser recuperada por meio de ppv.

[out] ppv

Tipo: void**

Quando esse método retorna com êxito, contém o ponteiro de interface solicitado em riid.

Retornar valor

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

As informações críticas não devem ser armazenadas no recipiente de propriedades do estado de exibição porque o sistema mantém apenas um número limitado de estados de exibição. Se uma pasta não for visitada por muito tempo, seu estado de exibição será eventualmente excluído.

Recomendamos que você use a macro IID_PPV_ARGS , definida em Objbase.h, para empacotar os parâmetros riid e ppv . Essa macro fornece o IID correto com base na interface apontada pelo valor em ppv, o que elimina a possibilidade de um erro de codificação no riid que pode levar a resultados inesperados.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
Biblioteca Shlwapi.lib
DLL Shlwapi.dll (versão 5.0 ou posterior)