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