IMoniker::GetDisplayName
9/8/2008
Esse método retorna o nome exibir.
Syntax
HRESULT GetDisplayName(
IBindCtx* pbc,
IMoniker* pmkToLeft,
LPOlESTR* ppszDisplayName
);
Parameters
pbc
[no] Ponteiro para o IBindCtx interface no contexto de BIND a ser usado nesta operação.O contexto BIND caches objetos ligado durante o processo ligação, contém os parâmetros que aplicar a todas as operações usando o contexto BIND e fornece os meios pelos quais a implementação moniker deve recuperar informações sobre seu ambiente.
Para obter mais informações, consulte IBindCtx.
pmkToLeft
[no] Se o moniker for parte de uma composição moniker, ponteiro para o moniker à esquerda deste moniker.Este parâmetro é usado principalmente pelos implementadores moniker para habilitar cooperação entre os vários componentes de uma composição moniker. Clientes moniker devem transmitir NULL.
ppszDisplayName
[out] Endereço do LPOLESTR ponteiro variável que recebe um ponteiro para o seqüência de caracteres Nome exibir.When successful, this string is a zero-terminated wide character string (two bytes per character) that contains the display name of the moniker.
A implementação deve usar o IMalloc::Alloc método alocar o seqüência de caracteres retornados em ppszDisplayName, e o chamador é responsável por chamado de IMalloc::Free método para livre-lo.
Tanto o chamador e a implementação deste método usam o alocador tarefa COM retornado pelo CoGetMalloc função.
Se ocorrer um erro, a implementação deve definir *ppszDisplayName Deve ser definido como NULL.
Return Value
O método suporta o padrão valor de retorno E_OUTOFMEMORY.
A seguinte tabela mostra os adicionais retornam valores para este método.
Valor | Descrição |
---|---|
S_OK |
O nome exibir com êxito foi fornecido. |
MK_E_EXCEEDEDDEADLINE |
A operação ligação não pôde ser concluída no limite de tempo especificado do contexto de BIND BIND_OPTS estrutura. |
E_NOTIMPL |
Não há nenhum nome exibir. |
Remarks
IMoniker::GetDisplayName Fornece um seqüência de caracteres que é uma representação exibível do moniker.
Um nome exibir não é um completo representação de estado interno de um moniker; é simplesmente uma forma que pode ser ler por usuários. Como resultado, ele é possível, embora raras, para dois monikers diferentes para que o mesmo nome exibir.
Embora não haja nenhuma garantia de que o nome de um moniker exibir pode ser analisada voltar em que moniker quando chamado a MkParseDisplayName função com ele, falha para fazer isso é rara.
Como exemplos, implementação moniker a arquivo de suprimentos este método representa o caminho o moniker e exibir nome do moniker um item é a seqüência de caracteres identificar o item contido no moniker.
Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.
Notas para chamadores
É possível que recuperar exibir nome de um moniker pode ser uma operação cara. Para eficiência, você pode desejar para armazenar em cache os resultados de bem-sucedido primeiro chamar a IMoniker::GetDisplayName, em vez de fazer chamadas repetidas.
Notas para Implementers
Se você estiver escrevendo uma classe moniker na qual o nome exibir não alteração, simplesmente armazenar em cache a exibir Nome e fornecer o nome em cache quando solicitado.
Se o nome exibir pode alteração sobre tempo, obtendo a atual exibir nome pode significar que o moniker deve acessar armazenamento do objeto ou BIND para o objeto, um dos quais pode ser caro operações.
Se esse for a maiúsculas e minúsculas, sua implementação de IMoniker::GetDisplayName deve retornar MK_E_EXCEEDEDDEADLINE se o nome não pode ser recuperado pelo tempo especificado do contexto de BIND BIND_OPTS estrutura.
Um moniker que destina-se a ser parte de um genérico composição moniker deve incluir qualquer acima delimitador (como ' \ ') como parte do seu nome exibir. De exemplo, o nome exibir retornado por uma moniker item inclui o delimitador especificado quando ele foi criado com o CreateItemMoniker função.
O nome exibir para um arquivo moniker não inclui um delimitador porque arquivo monikers sempre previstas para ser o componente mais à esquerda de uma composição.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |