Moniker der Klasse

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 namens Klassenmoniker identifiziert werden. Klassenmoniker binden an das Klassenobjekt der Klasse, für die sie erstellt werden.

Die Möglichkeit, Klassen mit einem Moniker zu identifizieren, unterstützt nützliche Vorgänge, die ansonsten unhandlich sind. Beispielsweise unterstützten Dateimoniker die Rich-Bindung traditionell nur für die Klasse der Datei, auf die sie verwiesen haben. Ein Moniker an eine Excel-Datei würde an eine instance eines Excel-Objekts gebunden, und ein Moniker an ein GIF-Bild würde an eine instance des aktuell registrierten GIF-Handlers gebunden. Mit einem Klassenmoniker können Sie die Klasse angeben, die Sie verwenden möchten, um eine Datei über die Komposition mit einem Dateimoniker zu bearbeiten. Ein Klassenmoniker für eine 3D-Diagrammklasse, die mit einem Moniker zu einer Excel-Datei zusammengesetzt ist, gibt einen Moniker ab, der an eine instance des 3D-Diagrammobjekts bindet und das Objekt mit dem Inhalt der Excel-Datei initialisiert.

Klassenmoniker sind daher am nützlichsten bei der Komposition mit anderen Arten von Monikern, 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 ist, gewährt IClassActivator einfach zugriff auf das Klassenobjekt und die Instanzen der Klasse über IClassActivator::GetClassObject. Klassenmoniker können durch IMoniker::IsSystemMoniker identifiziert werden, das MKSYS_CLASSMONIKER in pdwMksys zurückgibt.

Programmierer erstellen In der Regel Klassenmoniker mit der CreateClassMoniker-Funktion oder über MkParseDisplayName. (Weitere Informationen finden Sie unter IMoniker::P arseDisplayName .)

Anti-Moniker

Zusammengesetzte Moniker

Dateimoniker

Item Monikers

Zeigermoniker