Klasse Moniker
Obwohl Klassen in der Regel direkt mit CLSIDs für Funktionen wie CoCreateInstance oder CoGetClassObject-identifiziert werden, können Klassen jetzt auch mit einem Moniker identifiziert werden, der als Klassenmonikerbezeichnet wird. Klassenmoniker binden an das Klassenobjekt der Klasse, für die sie erstellt werden.
Die Fähigkeit, Klassen mit einem Moniker zu identifizieren, unterstützt nützliche Vorgänge, die andernfalls unübersichtlich sind. Dateimoniker unterstützten z. B. traditionell umfangreiche Bindung nur an die Klasse, die der Dateiklasse zugeordnet ist, auf die sie verwiesen haben; ein Moniker an eine Excel-Datei würde eine Bindung an eine Instanz eines Excel-Objekts ausführen, und ein Moniker an ein GIF-Bild würde an eine Instanz des aktuell registrierten GIF-Handlers gebunden. Mit einem Klassenmoniker können Sie die Klasse angeben, die Sie zum Bearbeiten einer Datei mithilfe einer Komposition mit einem Dateimoniker verwenden möchten. Ein Klassenmoniker für eine 3D-Diagrammklasse, die mit einem Moniker zu einer Excel-Datei besteht, liefert einen Moniker, der eine Bindung an eine Instanz des 3D-Diagrammobjekts und initialisiert das Objekt mit dem Inhalt der Excel-Datei.
Klassenmoniker sind daher bei der Komposition mit anderen Arten von Monikern am nützlichsten, z. B. Dateimoniker oder Elementmoniker.
Klassenmoniker können auch rechts von Monikern zusammengesetzt werden, die die Bindung an die IClassActivator Schnittstelle unterstützen. Wenn IClassActivator auf diese Weise verfasst wird, einfach Zugriff auf das Klassenobjekt und die Instanzen der Klasse über IClassActivator::GetClassObject. Klassenmoniker können durch IMoniker::IsSystemMonikeridentifiziert werden, die MKSYS_CLASSMONIKER in pdwMksyszurückgibt.
Programmierer erstellen in der Regel Klassenmoniker mithilfe der CreateClassMoniker--Funktion oder über MkParseDisplayName. (Weitere Informationen finden Sie unter IMoniker::P arseDisplayName.)
Verwandte Themen