Compartilhar via


IParseDisplayName::ParseDisplayName

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esse método analisa o nome exibir para extrair um componente de seqüência de caracteres que ela pode converter em um moniker, usando o número máximo de caracteres a partir do lado esquerdo da seqüência de caracteres.

Syntax

HRESULT ParseDisplayName(
  IBindCtx* pbc,
  LPOLESTR pszDisplayName, 
  ULONG* pchEaten,
  IMoniker** ppmkOut 
);

Parameters

  • pbc
    [no] Ponteiro para o contexto BIND a ser usado em operação essa ligação.
  • pszDisplayName
    [no] Ponteiro para uma seqüência de caracteres zero-Terminated que contém o nome exibir para ser analisada. For Microsoft Win32® applications, the LPOLESTR type indicates a wide character string (two bytes per character); otherwise, the string has one byte per character.
  • pchEaten
    [out] Ponteiro para o número de caracteres a exibir que corresponder ao nome de ppmkOut moniker.
  • ppmkOut
    [out] Endereço do IMonikervariável * pointer que recebe o ponteiro interface para o moniker resultante.

    Se ocorrer um erro, a implementação definirá *ppmkOut para NULL.

    Se *ppmkOut não-NULL, a implementação deve chamar (* ppmkOut)-> IUnknown::AddRef; Portanto, é responsabilidade do chamador para chamar (* ppmkOut)-> IUnknown::Release.

Return Value

Este método oferece suporte a padrão retornar valores E_OUTOFMEMORY e E_UNEXPECTED, bem como o seguinte:

  • S_OK
    A operação de análise foi bem-sucedido.
  • MK_E_SYNTAX
    Erro de sintaxe no nome do exibir.

    Analisar falha porque szDisplayName poderia apenas ser parcialmente resolvida como um moniker. Neste maiúsculas e minúsculas *pchEaten tem o número de caracteres que foram analisados com êxito em um prefixo moniker.

    O parâmetro ppmkOut deve ser NULL.

  • MK_E_NOOBJECT
    O nome exibir não identifica um componente neste espaço para nome.
  • E_INVALIDARG
    Um ou mais parâmetros inválidos.

Remarks

Em geral, o prefixo máximo szDisplayName que é sintaticamente válido e que representa um objeto deve ser consumida por este método e convertida para um moniker.

Normalmente, esse método é chamado por MkParseDisplayName. Na etapa inicial da análise operação, o MkParseDisplayName função pode recuperar o IParseDisplayName interface diretamente de uma instância de uma classe identificado com o @ProgID ou ProgID notação. Análise subseqüentes etapas podem consulta para a interface em um intermediário objeto.

O executar um loop principal do MkParseDisplayName Localiza o próximo peça moniker por chamado o equivalente método na IMoniker interface, that is, IMoniker::ParseDisplayName, no moniker que ele contém no momento. Nesta chamar para IMoniker::ParseDisplayName, o MkParseDisplayName função passa NULL in a pmkToLeft parâmetro.

Se o moniker mantido atualmente por MkParseDisplayName é um genérico composição, a chamar para IMoniker::ParseDisplayName é encaminhado por esse composição até sua peça última, passando o prefixo de composição para esquerda da informação no pmkToLeft.

Algumas classes moniker poderão identificador essa análise internamente para si mesmos pois elas são criadas para designar somente determinados tipos de objetos. Outros precisarão BIND para o objeto que eles designar para realizar a análise processo.

Como é comum, esses objetos não devem ser lançados por IMoniker::ParseDisplayName Mas, em vez disso, deve ser transferida para o contexto BIND através de IBindCtx::RegisterObjectBound Ou IBindCtx::GetRunningObjectTable seguido por IRunningObjectTable::Register Para versão em um tempo posterior.

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Requirements

Header Oleidl.h, oleidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

MkParseDisplayName
IMoniker::ParseDisplayName