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. Jede CATID verfügt über eine Liste mit regionalen, menschlich lesbaren Namen, die ihr zugeordnet sind. Eine Auflistung der CATIDs und der lesbaren Namen wird an einem bekannten Ort in der Registrierung gespeichert.

Beispielsweise können alle Komponenten, die die Funktionalität für die OLE-Dokumenteinbettung implementieren, innerhalb einer Komponentenkategorie klassifiziert werden. In der Vergangenheit wären diese Objekte durch den Schlüssel "Einfügbar" in der Registrierungsdatenbank identifiziert worden. 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 breite Palette von Funktionen unterstützen kann, können Komponenten zu mehreren Komponentenkategorien gehören. Beispielsweise kann ein bestimmtes OLE-Steuerelement alle Funktionen bereitstellen, die erforderlich sind, um OLE-Dokumenteinbettung, Microsoft Visual Basic-Datenbindung und Internetfunktionalität zu unterstützen. Ein solches Steuerelement hätte 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 auf einem System installierten Steuerelemente aufzählen und nur die Steuerelemente anzeigen, die die vom 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

Kategorisierung nach Containerfunktionen

Standardklassen und Zuordnungen

Definieren von Komponentenkategorien

Der Komponentenkategorien-Manager