MonikerCommonPrefixWith-Funktion (objbase.h)

Erstellt einen neuen Moniker basierend auf dem allgemeinen Präfix, das dieser Moniker (der die Daten dieses Moniker-Objekts enthält) mit einem anderen Moniker teilt.

Diese Funktion soll nur in Implementierungen von IMoniker::CommonPrefixWith aufgerufen werden.

Syntax

HRESULT MonikerCommonPrefixWith(
  [in]  LPMONIKER pmkThis,
  [in]  LPMONIKER pmkOther,
  [out] LPMONIKER *ppmkCommon
);

Parameter

[in] pmkThis

Ein Zeiger auf die IMoniker-Schnittstelle auf einem der Moniker, für die ein gemeinsames Präfix gesucht wird; normalerweise der Moniker, in dem dieser Aufruf verwendet wird, um IMoniker::CommonPrefixWith zu implementieren.

[in] pmkOther

Ein Zeiger auf die IMoniker-Schnittstelle auf dem Moniker, der mit dem ersten Moniker verglichen werden soll.

[out] ppmkCommon

Die Adresse einer IMoniker*-Zeigervariable, die den Schnittstellenzeiger auf den Moniker empfängt, basierend auf dem gemeinsamen Präfix von pmkThis und pmkOther. Bei erfolgreicher Ausführung hat die Funktion AddRef für den Moniker aufgerufen, und der Aufrufer ist für den Aufruf von Release verantwortlich. Wenn ein Fehler auftritt, ist der angegebene Schnittstellenzeigerwert NULL.

Rückgabewert

Diese Funktion kann die Standardrückgabewerte E_OUTOFMEMORY und E_UNEXPECTED sowie die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Es gibt ein allgemeines Präfix, das weder pmkThis nochpmkOther ist.
MK_S_HIM
Der gesamte pmkOther-Moniker ist ein Präfix des pmkThis Monikers.
MK_S_ME
Der gesamte pmkThis Moniker ist ein Präfix des pmkOther Monikers.
MK_S_US
Die Moniker pmkThis und pmkOther sind gleich.
MK_E_NOPREFIX
Die Moniker haben kein gemeinsames Präfix.
MK_E_NOTBINDABLE
Diese Funktion wurde für einen relativen Moniker aufgerufen. Es ist nicht sinnvoll, das allgemeine Präfix relativer Moniker zu verwenden.

Hinweise

Ihre Implementierung von IMoniker::CommonPrefixWith sollte zuerst überprüfen, ob der andere Moniker von einem Typ ist, den Sie in besonderer Weise erkennen und behandeln. Andernfalls sollten Sie MonikerCommonPrefixWith aufrufen und sich als pmkThis und den anderen Moniker als pmkOther übergeben. MonikerCommonPrefixWith behandelt die Fälle, in denen der Moniker ein generischer Verbund ist.

Sie sollten diese Funktion nur aufrufen, wenn pmkThis und pmkOther beide absolute Moniker sind (wobei ein absoluter Moniker entweder ein Dateimoniker oder ein generischer Verbund ist, dessen linke Komponente ein Dateimoniker ist, und wobei der Dateimoniker einen absoluten Pfad darstellt). Rufen Sie diese Funktion nicht für relative Moniker auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objbase.h
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

IMoniker::CommonPrefixWith