Die formale Methode zum Steuern der Verwendung Ihres Objekts besteht in der Implementierung von IClassFactory2 in der Klassenfactory, die Ihre COM-Objekte erstellt.
Hier ist ein Link auf MSDN, der die Schnittstelle erklärt.
IClassFactory2 at MSDN
Der Vorteil einer Implementierung zu schaffen ist, dass niemand eine Instanz ohne Löschen der Hürden der Registrierung durch IClassFactory2 holen kann.
Der Nachteil ist, dass Sie alle Orte, an denen Sie ein Objekt erstellen, überprüfen müssen, um sicherzustellen, dass sie nicht beschädigt sind. Das Erstellen von Instanzen wird mühsamer, obwohl einige Sprachen bereits Möglichkeiten haben, den Prozess weniger schmerzhaft zu machen (zB VB6).
Wenn Sie versuchen, ein Objekt mit vielen Instanziierungsaktivitäten zu schützen, möchten Sie möglicherweise die Methode von Mastermind zum Hinzufügen eines Schlüsselparameters verwenden oder eine Methode zum Entsperren Ihrer Schnittstellen hinzufügen, die korrekt aufgerufen werden muss bevor die Komponente dahinter verwendet werden kann.
Um relevantere Antworten zu erhalten, sollten Sie angeben, welche Sprache/Technologie sowohl für den COM-Server als auch für mögliche Clients verwendet wird. – sharptooth
Ich benutze C++ für beide Clients und Server – anand
ATL oder ähnliches? Dann können Sie einfach die "frühe Bindung, keine Typelib" -Weise gehen - das wird einfach funktionieren und niemand wird in der Lage sein zu untersuchen, welche Schnittstellen Sie haben. – sharptooth