Monikerclients

Monikerclients müssen mit dem Abrufen eines Monikers beginnen, und es gibt mehrere Möglichkeiten für einen Monikerclient, einen Moniker zu erhalten. For example, in OLE compound documents, when the end user creates a linked item (either using Insert Object dialog, the clipboard, or drag-and drop), a moniker is embedded as part of the linked item. In diesem Fall hat der Programmierer nur einen minimalen Kontakt mit Monikern. Wenn Sie programmgesteuert über einen Schnittstellenzeiger auf ein Objekt verfügen, das die IMoniker-Schnittstelle implementiert, können Sie diesen verwenden, um einen Moniker zu erhalten, und es gibt Methoden auf anderen Schnittstellen, die für die Rückgabe von Monikern definiert sind.

Es gibt verschiedene Arten von Monikern, die verwendet werden, um verschiedene Arten von Objekten zu identifizieren, aber für einen Monikerclient sehen alle Moniker gleich aus. Ein Monikerclient ruft einfach IMoniker::BindToObject für einen Moniker auf und ruft einen Schnittstellenzeiger auf das Objekt ab, das der Moniker identifiziert. Unabhängig davon, ob der Moniker ein Objekt so groß wie ein ganzes Arbeitsblatt oder so klein wie eine einzelne Zelle in einem Arbeitsblatt identifiziert, gibt der Aufruf von BindToObject einen Zeiger auf dieses Objekt zurück. Wenn das Objekt bereits ausgeführt wird, findet BindToObject es im Arbeitsspeicher. Wenn das Objekt passiv auf dem Datenträger gespeichert wird, sucht BindToObject einen Server für dieses Objekt, und der Server wird ausgeführt, und der Server bringt das Objekt in den Ausführungszustand. Alle Details des Bindungsprozesses werden vom Monikerclient ausgeblendet. Daher ist die Verwendung des Monikers für einen Monikerclient sehr einfach.

Monikeranbieter

OLE-Monikerimplementierung