Классификация по возможностям компонентов
Категории компонентов можно использовать для отображения подмножества всех установленных компонентов. Каждая категория компонента определяется идентификатором GUID, который называется идентификатором категории (CATID). Каждый CATID содержит список имен с тегами языкового стандарта, доступных для чтения, связанных с ним. Список CATID и имен, доступных для чтения, хранится в известном расположении в реестре.
Например, все компоненты, реализующие функциональные возможности внедрения документов OLE, можно классифицировать в категории компонентов. В прошлом эти объекты были бы определены разделом Insertable в реестре. Для использования категорий компонентов вместо этого в реестр будут добавлены следующие сведения:
HKEY_CLASSES_ROOT\Component Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
(Default) = ""
409 = "Embeddable Objects"
Каждый класс, реализующий функциональные возможности, соответствующие категории компонентов, содержит идентификатор категории для этой категории в разделе CLSID в реестре. Так как один компонент может поддерживать широкий спектр функциональных возможностей, компоненты могут принадлежать нескольким категориям компонентов. Например, определенный элемент управления OLE может поддерживать все функциональные возможности, необходимые для участия в качестве внедрения документов OLE, привязки данных Microsoft Visual Basic и функций Интернета. Такой элемент управления будет содержать следующие сведения, хранящиеся в его разделе CLSID в реестре:
;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...}
С помощью этих сведений контейнер может перечислять элементы управления, установленные в системе, и отображать только те элементы управления, которые поддерживают функциональные возможности, необходимые контейнеру. Использование категорий компонентов позволяет классифицировать компоненты по реализованным функциям компонента.
См. также