Klassenmoniker
Obwohl Klassen in der Regel direkt mit CLSIDs für Funktionen wie CoCreateInstance oder CoGetClassObjectidentifiziert werden, können Klassen jetzt auch mit einem Moniker identifiziert werden, der als Klassenmoniker bezeichnet wird. Klassenmoniker werden an das Klassenobjekt der Klasse gebunden, für die sie erstellt werden.
Die Möglichkeit, Klassen mit einem Moniker zu identifizieren, unterstützt nützliche Vorgänge, die andernfalls unhandlich sind. Dateimoniker unterstützten z. B. üblicherweise nur umfangreiche Bindungen an die Klasse, die der Klasse der Datei zugeordnet ist, auf die sie verwiesen haben. ein Moniker an eine Excel Datei an eine Instanz eines Excel-Objekts gebunden wird, und ein Moniker an ein GIF-Bild wird an eine Instanz des derzeit registrierten GIF-Handlers gebunden. Mit einem Klassenmoniker können Sie die Klasse angeben, die Sie verwenden möchten, um eine Datei durch Komposition mit einem Dateimoniker zu bearbeiten. Ein Klassenmoniker für eine 3D-Diagrammklasse, die mit einem Moniker zu einer Excel Datei zusammengesetzt ist, ergibt einen Moniker, der an eine Instanz des 3D-Diagrammobjekts gebunden wird und das Objekt mit dem Inhalt der Excel-Datei initialisiert.
Klassenmoniker sind daher besonders nützlich bei der Komposition mit anderen Monikertypen, z. B. Dateimonikern oder Elementmonikern.
Klassenmoniker können auch rechts von Monikern zusammengesetzt werden, die die Bindung an die IClassActivator-Schnittstelle unterstützen. Wenn IClassActivator auf diese Weise zusammengesetzt wird, gewährt IClassActivator einfach über IClassActivator::GetClassObjectZugriff auf das Klassenobjekt und die Instanzen der Klasse. Klassenmoniker können über IMoniker::IsSystemMonikeridentifiziert werden, der MKSYS _ CLASSMONIKER in pdwMksys zurückgibt.
Programmierer erstellen Klassenmoniker in der Regel mithilfe der CreateClassMoniker-Funktion oder über MkParseDisplayName. (Weitere Informationen finden Sie unter IMoniker::P arseDisplayName.)