Metodo IParseDisplayName::P arseDisplayName (oleidl.h)

Analizza il nome visualizzato specificato e crea un moniker corrispondente.

Sintassi

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

Parametri

[in] pbc

Puntatore al contesto di associazione da usare in questa operazione di associazione. Vedere IBindCtx.

[in] pszDisplayName

Nome visualizzato da analizzare.

[out] pchEaten

Puntatore a una variabile che riceve il numero di caratteri nel nome visualizzato corrispondente al moniker ppmkOut .

[out] ppmkOut

Puntatore a una variabile puntatore IMoniker che riceve il puntatore dell'interfaccia al moniker risultante. Se si verifica un errore, l'implementazione imposta *ppmkOut su NULL. Se *ppmkOut non è NULL, l'implementazione deve chiamare AddRef; è responsabilità del chiamante chiamare Release.

Valore restituito

Questo metodo può restituire i valori restituiti standard E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
MK_E_SYNTAX
Si verifica un errore di sintassi nel nome visualizzato. L'analisi non è riuscita perché pszDisplayName potrebbe essere risolto parzialmente in un moniker. In questo caso* pchEaten ha il numero di caratteri che sono stati analizzati correttamente in un prefisso moniker. Il parametro ppmkOut deve essere NULL.
MK_E_NOOBJECT
Il nome visualizzato non identifica un componente nello spazio dei nomi.
E_INVALIDARG
Uno o più parametri non sono validi.

Commenti

In generale, il prefisso massimo di pszDisplayName che è sintatticamente valido e che rappresenta un oggetto deve essere utilizzato da questo metodo e convertito in un moniker.

In genere, questo metodo viene chiamato da MkParseDisplayName o MkParseDisplayNameEx. Nel passaggio iniziale dell'operazione di analisi, queste funzioni possono recuperare l'interfaccia IParseDisplayName direttamente da un'istanza di una classe identificata con la notazione "@ProgID" o "ProgID". I passaggi di analisi successivi possono eseguire query sull'interfaccia in un oggetto intermedio.

I cicli principali di MkParseDisplayName e MkParseDisplayNameEx trovano il successivo moniker chiamando il metodo equivalente nell'interfaccia IMoniker, ovvero IMoniker::P arseDisplayName, nel moniker che attualmente contiene. In questa chiamata a IMoniker::P arseDisplayName, la funzione MkParseDisplayName o MkParseDisplayNameEx passa NULL nel parametro pmkToLeft. Se il moniker attualmente tenuto è un composito generico, la chiamata a IMoniker::P arseDisplayName viene inoltrata da tale composito nell'ultimo pezzo, passando il prefisso del composito a sinistra del pezzo in pmkToLeft.

Alcune classi moniker potranno gestire questa analisi internamente a se stessi perché sono progettate per designare solo determinati tipi di oggetti. Altri dovranno associare all'oggetto che designano per eseguire il processo di analisi. Come in genere, questi oggetti non devono essere rilasciati da IMoniker::P arseDisplayName, ma devono essere trasferiti al contesto di associazione tramite IBindCtx::RegisterObjectBound o IBindCtx::GetRunningObjectTable seguito da IRunningObjectTable::Register per la versione in un secondo momento.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

IMoniker::P arseDisplayName

IParseDisplayName

MkParseDisplayName

MkParseDisplayNameEx