Método IShellItemArray::GetPropertyStore (shobjidl_core.h)
Obtém um repositório de propriedades.
Sintaxe
HRESULT GetPropertyStore(
[in] GETPROPERTYSTOREFLAGS flags,
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in] flags
Tipo: GETPROPERTYSTOREFLAGS
Uma das constantes GETPROPERTYSTOREFLAGS .
[in] riid
Tipo: REFIID
O IID do tipo de objeto a ser recuperado.
[out] ppv
Tipo: void**
Quando esse método retorna, contém o ponteiro de interface solicitado em riid. Normalmente, isso é IPropertyStore ou IPropertyStoreCapabilities.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Esse método é usado para obter um repositório de propriedades somente leitura que agrega propriedades coletadas de todos os itens na matriz de itens do shell.
Se houver mais de um item na matriz de itens do shell, o repositório de propriedades resultante agregará os valores de cada item de acordo com um conjunto de regras determinado por cada propriedade. Os valores lidos do repositório de propriedades serão forçados a um formulário canônico antes da agregação, conforme discutido em CoerceToCanonicalValue. A saída de uma chamada para IPropertyStore::GetValue é computada da seguinte maneira:
- As propriedades com valor único seguem a regra especificada pela cadeia de caracteres de tipo de agregação no esquema de descrição da propriedade.
-
- Se o tipo de agregação for "DateRange" e o tipo de propriedade for um filetime, retornará um VT_VECTOR | VT_FILETIME de dois valores ou um valor VT_FILETIME se os valores forem idênticos.
- Se o tipo de agregação for "First", retornará o primeiro valor não vazio.
- Se o tipo de agregação for "Soma", retornará a soma.
- Se o tipo de agregação for "Média", retornará a média de todos os valores não vazios.
- Se o tipo de agregação for "Mínimo", retornará o valor mínimo.
- Se o tipo de agregação for "Union" e o tipo de propriedade for uma cadeia de caracteres, retornará um VT_VECTOR | VT_LPWSTR que contém a união de valores. A ordem dos valores não é especificada.
- Se o tipo de agregação não for especificado, incompatível ou "Padrão", retornará um único valor se for idêntico para todos os itens na matriz ou um valor especial usado para indicar que os valores diferem entre alguns dos itens. O valor especial é um VT_VECTOR | VT_LPWSTR que contém duas cadeias de caracteres: "Múltiplo" e "Valores". Chamar aplicativos deve marcar para esse valor especial verificando se há VT_VECTOR | VT_LPWSTR se GetTypeFlags indicar que a propriedade tem valor único.
- As propriedades de cadeia de caracteres com valores múltiplos retornam uma interseção de suas cadeias de caracteres. A ordem não é especificada.
Chamar aplicativos pode obter outros comportamentos de agregação acessando os itens de shell individuais e seus repositórios de propriedades diretamente. Consulte IPropertyStore::GetCount, IPropertyStore::GetAt e GetPropertyStore.
Há suporte para gravação em uma matriz de itens de shell por meio da API IFileOperation .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |