Share via


IParseDisplayName::P arseDisplayName-Methode (oleidl.h)

Analysiert den angegebenen Anzeigenamen und erstellt einen entsprechenden Moniker.

Syntax

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

Parameter

[in] pbc

Ein Zeiger auf den Bindungskontext, der in diesem Bindungsvorgang verwendet werden soll. Siehe IBindCtx.

[in] pszDisplayName

Der zu analysierende Anzeigename.

[out] pchEaten

Ein Zeiger auf eine Variable, die die Anzahl der Zeichen im Anzeigenamen empfängt, die dem ppmkOut-Moniker entsprechen.

[out] ppmkOut

Ein Zeiger auf eine IMoniker-Zeigervariable , die den Schnittstellenzeiger auf den resultierenden Moniker empfängt. Wenn ein Fehler auftritt, legt die Implementierung *ppmkOut auf NULL fest. Wenn *ppmkOut nicht NULL ist, muss die Implementierung AddRef aufrufen. Es liegt in der Verantwortung des Aufrufers, Release aufzurufen.

Rückgabewert

Diese Methode kann die standardmäßigen Rückgabewerte E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
MK_E_SYNTAX
Der Anzeigename enthält einen Syntaxfehler. Fehler beim Analysieren, da pszDisplayName nur teilweise in einen Moniker aufgelöst werden konnte. In diesem Fall verfügt *pchEaten über die Anzahl der Zeichen, die erfolgreich in ein Monikerpräfix analysiert wurden. Der Parameter ppmkOut sollte NULL sein.
MK_E_NOOBJECT
Der Anzeigename identifiziert keine Komponente in diesem Namespace.
E_INVALIDARG
Mindestens ein Parameter ist ungültig.

Hinweise

Im Allgemeinen sollte das maximale Präfix von pszDisplayName , das syntaktisch gültig ist und ein Objekt darstellt, von dieser Methode verwendet und in einen Moniker konvertiert werden.

In der Regel wird diese Methode von MkParseDisplayName oder MkParseDisplayNameEx aufgerufen. Im ersten Schritt des Analysevorgangs können diese Funktionen die IParseDisplayName-Schnittstelle direkt aus einer instance einer Klasse abrufen, die entweder mit der Notation "@ProgID" oder "ProgID" gekennzeichnet ist. Nachfolgende Analyseschritte können die Schnittstelle für ein Zwischenobjekt abfragen.

Die Standard Schleifen von MkParseDisplayName und MkParseDisplayNameEx suchen das nächste Monikerstück, indem sie die entsprechende Methode in der IMoniker-Schnittstelle aufrufen, d. h. IMoniker::P arseDisplayName, auf dem Moniker, den sie derzeit enthält. In diesem Aufruf von IMoniker::P arseDisplayName übergibt die MkParseDisplayName - oder MkParseDisplayNameEx-FunktionNULL im parameter pmkToLeft . Wenn der derzeit gehaltene Moniker ein generischer Zusammengesetzter ist, wird der Aufruf von IMoniker::P arseDisplayName von dieser Zusammengesetzten auf das letzte Element weitergeleitet, wobei das Präfix der Zusammengesetzten links vom Stück in pmkToLeft übergeben wird.

Einige Monikerklassen können diese Analyse intern für sich selbst verarbeiten, da sie nur für bestimmte Arten von Objekten vorgesehen sind. Andere müssen an das objekt binden, das sie festlegen, um den Analyseprozess auszuführen. Wie üblich sollten diese Objekte nicht von IMoniker::P arseDisplayName freigegeben werden, sondern stattdessen über IBindCtx::RegisterObjectBound oder IBindCtx::GetRunningObjectTable gefolgt von IRunningObjectTable::Register zur Späteren Freigabe in den Bindungskontext übertragen werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleidl.h

Weitere Informationen

IMoniker::P arseDisplayName

IParseDisplayName

MkParseDisplayName

MkParseDisplayNameEx