Método IShellFolder::GetDisplayNameOf (shobjidl_core.h)
Recupera o nome de exibição do objeto de arquivo ou subpasta especificado.
Sintaxe
HRESULT GetDisplayNameOf(
[in] PCUITEMID_CHILD pidl,
[in] SHGDNF uFlags,
[out] STRRET *pName
);
Parâmetros
[in] pidl
Tipo: PCUITEMID_CHILD
PIDL que identifica exclusivamente o objeto de arquivo ou a subpasta em relação à pasta pai.
[in] uFlags
Tipo: SHGDNF
Sinalizadores usados para solicitar o tipo de nome de exibição a ser retornado. Para obter uma lista de valores possíveis, consulte o tipo enumerado SHGDNF .
[out] pName
Tipo: STRRET*
Quando esse método retorna, contém um ponteiro para uma estrutura STRRET na qual retornar o nome de exibição. O tipo de nome retornado nessa estrutura pode ser o tipo solicitado, mas a pasta Shell pode retornar um tipo diferente.
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
É responsabilidade do chamador liberar recursos alocados por essa função.
Normalmente, pidl pode se referir apenas a itens contidos na pasta pai. O PIDL deve ser de nível único e conter exatamente uma estrutura SHITEMID seguida por um zero de terminação. Se você quiser recuperar o nome de exibição de um item mais profundo do que um nível de distância da pasta pai, use SHBindToParent para associar à pasta pai imediata do item e, em seguida, passe o PIDL de nível único do item para IShellFolder::GetDisplayNameOf.
Além disso, se o sinalizador SHGDN_FORPARSING estiver definido em uFlags e o sinalizador SHGDN_INFOLDER não estiver definido, pidl poderá se referir a um objeto em qualquer nível abaixo da pasta pai na hierarquia de namespace. Ao mesmo tempo, pidl pode ser um PIDL de vários níveis, em relação à pasta pai, e pode conter várias estruturas SHITEMID . No entanto, isso não tem mais suporte e o pidl agora deve se referir apenas a um único item filho.
A maneira mais simples de recuperar o nome de exibição da estrutura apontada por pName é passá-lo para StrRetToBuf ou StrRetToStr. Essas funções pegam uma estrutura STRRET e retornam o nome. Você também pode examinar o membro uType da estrutura e recuperar o nome do membro apropriado.
Os sinalizadores especificados em uFlags são dicas sobre o uso pretendido do nome. Eles não garantem que IShellFolder retornará a forma solicitada do nome. Se esse formulário não estiver disponível, um diferente poderá ser retornado. Em particular, não há nenhuma garantia de que o nome retornado pelo sinalizador SHGDN_FORPARSING será analisado com êxito por IShellFolder::P arseDisplayName. Também há algumas combinações de sinalizadores que podem fazer com que a viagem de ida e volta GetDisplayNameOf/ParseDisplayName não retorne a lista de identificadores original. Essa ocorrência é excepcional, mas você deve marcar ter certeza.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |
DLL | Shell32.dll (versão 4.0 ou posterior) |