Freigeben über


GUID-Erstellung und Optimierungen

Da eine CLSID wie ein Schnittstellenbezeichner (IID) eine GUID ist, hat keine andere Klasse, unabhängig davon, wer sie schreibt, eine doppelte CLSID. Serverimplementierer erhalten in der Regel CLSIDs über die CoCreateGuid--Funktion. Diese Funktion ist garantiert, einzigartige CLSIDs zu produzieren, sodass Serverimplementierer auf der ganzen Welt ihre Software unabhängig entwickeln und bereitstellen können, ohne Angst vor versehentlicher Kollision mit Software, die von anderen geschrieben wurde.

Die Verwendung eindeutiger CLSIDs verhindert die Möglichkeit von Namenskonflikten zwischen Klassen, da CLSIDs in keiner Weise mit den namen verbunden sind, die in der zugrunde liegenden Implementierung verwendet werden. Beispielsweise können zwei verschiedene Anbieter Klassen namens "StackClass" schreiben, aber jeder hätte eine eindeutige CLSID und konnte daher nicht verwechselt werden.

COM muss häufig GUIDs (IIDs und CLSIDs) einem willkürlich großen Satz anderer Werte zuordnen. Als Anwendungsentwickler können Sie solche Suchvorgänge beschleunigen und dadurch die Systemleistung verbessern, indem Sie die GUIDs für Ihre Anwendung als Block aufeinander folgender Werte generieren.

Die effizienteste Methode zum Generieren eines Blocks aufeinander folgender GUIDs besteht darin, das uuidgen-Hilfsprogramm mithilfe der Schalter -n und -x auszuführen, die einen Block von UUIDs generiert, deren erster DWORD-Wert um einen erhöht wird.

Beispiel: Wenn Sie eingeben möchten

uuidgen -n5 -x

Das uuidgen-Hilfsprogramm würde einen Block von UUIDs wie folgt generieren:

12340001-4980-1920-6788-123456789012
12340002-4980-1920-6788-123456789012
12340003-4980-1920-6788-123456789012
12340004-4980-1920-6788-123456789012
12340005-4980-1920-6788-123456789012
 

Eine Methode zum Generieren und Nachverfolgen von GUIDs für ein gesamtes Projekt beginnt mit dem Generieren eines Blocks mit einer willkürlich großen Anzahl von UUIDs, z. B. 500. Beispiel: Wenn Sie eingeben möchten

uuidgen -n500 -x > guids.txt

Das Hilfsprogramm generiert 500 aufeinander folgende UUIDs und schreibt sie in die angegebene Textdatei. Anschließend können Sie diese Datei in Der Quellstruktur überprüfen und ein einzelnes Repository für alle GUIDs bereitstellen, die in einem Projekt verwendet werden sollen. Da Personen GUIDs für ihre Teile des Projekts benötigen, können sie die Datei auschecken, jedoch viele guiDs verwenden, sie als erledigt markieren und eine Notiz darüber hinterlassen, wo sie im Code oder in der Spezifikation enthalten sind, die sie verwenden.

Zusätzlich zur Verbesserung der Systemleistung hat das Generieren von Blöcken aufeinander folgender GUIDs folgende Vorteile:

  • Eine zentrale Datei, die alle GUIDs für eine Anwendung enthält, erleichtert das Nachverfolgen der GUIDs für das, was und welche Personen sie verwenden.
  • Ein Block aufeinander folgender GUIDs, die einer bestimmten Anwendung zugeordnet sind, hilft Entwicklern und Testern, interne GUIDs beim Debuggen zu erkennen und erleichtert die Suche in der Systemregistrierung, da sie sequenziell gespeichert werden.

COM Server-Verantwortlichkeiten