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 |
---|---|
|
El método se completó correctamente. |
|
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. |
|
El nombre para mostrar no identifica un componente en este espacio de nombres. |
|
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 |