Freigeben über


Kategorisieren nach Komponentenfunktionen

Komponentenkategorien können verwendet werden, um eine Teilmenge aller installierten Komponenten anzuzeigen. Jede Komponentenkategorie wird durch eine GUID identifiziert, die als Kategorie-ID (CATID) bezeichnet wird. Jeder CATID ist eine Liste mit gebietsschemat markierten, lesbaren Namen zugeordnet. Eine Auflistung der CATIDs und der für Menschen lesbaren Namen wird an einem bekannten Speicherort in der Registrierung gespeichert.

Beispielsweise können alle Komponenten, die die Funktionalität für die Einbettung von OLE-Dokumenten implementieren, innerhalb einer Komponentenkategorie klassifiziert werden. In der Vergangenheit wurden diese Objekte durch den Schlüssel "Insertable" in der Registrierung identifiziert. Um stattdessen Komponentenkategorien zu verwenden, werden der Registrierung die folgenden Informationen hinzugefügt:

HKEY_CLASSES_ROOT\Component Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
   (Default) = ""
   409 = "Embeddable Objects"

Jede Klasse, die die Funktionalität implementiert, die einer Komponentenkategorie entspricht, listet die Kategorie-ID für diese Kategorie innerhalb des CLSID-Schlüssels in der Registrierung auf. Da eine einzelne Komponente eine Vielzahl von Funktionen unterstützen kann, können Komponenten mehreren Komponentenkategorien angehören. Beispielsweise kann ein bestimmtes OLE-Steuerelement alle Funktionen unterstützen, die für die Teilnahme an der Einbettung von OLE-Dokumenten, Microsoft Visual Basic-Datenbindung und Internetfunktionen erforderlich sind. Bei einem solchen Steuerelement werden die folgenden Informationen in seinem CLSID-Schlüssel in der Registrierung gespeichert:

;The CLSID for "My Super OLE Control" is {12345678-ABCD-4321-0101-00000000000C}HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}\Implemented Categories
;The CATID for "Insertable" is {40FC6ED3-2438-11cf-A3DB-080036F12502} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
;The CATID for "Control" is {40FC6ED4-2438-11cf-A3DB-080036F12502} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{40FC6ED4-2438-11cf-A3DB-080036F12502}
;The CATID for an internet aware control is {...CATID_InternetAware...} HKEY_CLASSES_ROOT\CLSID\{12345678-ABCD-4321-0101-00000000000C}Implemented Categories\{...CATID_InternetAware...}
 

Mit diesen Informationen kann ein Container die in einem System installierten Steuerelemente aufzählen und nur die Steuerelemente anzeigen, die die für den Container erforderliche Funktionalität unterstützen. Die Verwendung von Komponentenkategorien bietet eine Möglichkeit, Komponenten nach der implementierten Funktionalität der Komponente zu kategorisieren.

Zuordnen von Symbolen zu einer Kategorie

Kategorisieren nach Containerfunktionen

Standardklassen und Zuordnungen

Definieren von Komponentenkategorien

Komponentenkategorien-Manager