Método IParseDisplayName::P arseDisplayName (oleidl.h)

Analiza el nombre para mostrar especificado y crea un moniker correspondiente.

Sintaxis

HRESULT ParseDisplayName(
  [in]  IBindCtx *pbc,
  [in]  LPOLESTR pszDisplayName,
  [out] ULONG    *pchEaten,
  [out] IMoniker **ppmkOut
);

Parámetros

[in] pbc

Puntero al contexto de enlace que se va a usar en esta operación de enlace. Consulte IBindCtx.

[in] pszDisplayName

Nombre para mostrar que se va a analizar.

[out] pchEaten

Puntero a una variable que recibe el número de caracteres del nombre para mostrar que corresponden al moniker ppmkOut .

[out] ppmkOut

Puntero a una variable de puntero IMoniker que recibe el puntero de interfaz al moniker resultante. Si se produce un error, la implementación establece *ppmkOut en NULL. Si *ppmkOut no es NULL, la implementación debe llamar a AddRef; es responsabilidad del autor de la llamada llamar a Release.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_OUTOFMEMORY y E_UNEXPECTED, así como los siguientes valores.

Código devuelto Descripción
S_OK
El método se completó correctamente.
MK_E_SYNTAX
Hay un error de sintaxis en el nombre para mostrar. Error en el análisis porque pszDisplayName solo se pudo resolver parcialmente en un moniker. En este caso, *pchEaten tiene el número de caracteres que se analizaron correctamente en un prefijo de moniker. El parámetro ppmkOut debe ser NULL.
MK_E_NOOBJECT
El nombre para mostrar no identifica un componente en este espacio de nombres.
E_INVALIDARG
Uno o más parámetros no son válidos.

Comentarios

En general, el prefijo máximo de pszDisplayName que es válido sintácticamente y que representa un objeto debe ser consumido por este método y convertido en un moniker.

Normalmente, MkParseDisplayName o MkParseDisplayNameEx llama a este método. En el paso inicial de la operación de análisis, estas funciones pueden recuperar la interfaz IParseDisplayName directamente desde una instancia de una clase identificada con la notación "@ProgID" o "ProgID". Los pasos de análisis posteriores pueden consultar la interfaz en un objeto intermedio.

Los bucles principales de MkParseDisplayName y MkParseDisplayNameEx encuentran la siguiente pieza de moniker llamando al método equivalente en la interfaz IMoniker , es decir, IMoniker::P arseDisplayName, en el moniker que contiene actualmente. En esta llamada a IMoniker::P arseDisplayName, la función MkParseDisplayName o MkParseDisplayNameEx pasa NULL en el parámetro pmkToLeft . Si el moniker que se mantiene actualmente es un compuesto genérico, la llamada a IMoniker::P arseDisplayName se reenvía mediante ese compuesto en su última pieza, pasando el prefijo de la composición a la izquierda de la pieza en pmkToLeft.

Algunas clases de moniker podrán controlar este análisis internamente porque están diseñadas para designar solo determinados tipos de objetos. Otros tendrán que enlazar al objeto que designan para realizar el proceso de análisis. Como es habitual, IMoniker::P arseDisplayName no debe liberar estos objetos, sino que se deben transferir al contexto de enlace a través de IBindCtx::RegisterObjectBound o IBindCtx::GetRunningObjectTable seguido de IRunningObjectTable::Register para su lanzamiento más adelante.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

IMoniker::P arseDisplayName

IParseDisplayName

MkParseDisplayName

MkParseDisplayNameEx