Классификация компонентов
Хотя клиент может просмотреть список CLSID в реестре и выбрать компонент для использования, загрузка каждого компонента в реестре и запрос к нему для поддерживаемых интерфейсов очень занимает много времени. Чтобы определить, поддерживает ли компонент интерфейсы, необходимые перед созданием экземпляра компонента, был разработан метод классификации компонентов в категории.
Категория компонентов — это набор интерфейсов, назначенных GUID с именем CATID. Компоненты, реализующие все интерфейсы в категории компонентов, регистрируют себя как члены этой категории компонентов. Затем из реестра можно выбрать компоненты, принадлежащие определенной категории компонентов. Зарегистрируя себя в качестве члена категории компонентов, компонент гарантирует, что он поддерживает все интерфейсы-члены в категории компонентов.
Компонент может быть членом многих категорий. Это не ограничивается поддержкой интерфейсов в категории компонентов. Он может поддерживать любой интерфейс в дополнение к интерфейсу в категории компонентов.
В отличие от стандартной регистрации компонентов, в которых разработчики должны писать код, который вручную регистрирует объекты, категории компонентов автоматизируют большую часть этой работы. Шесть методов интерфейса ICatRegister определяют категории компонентов и регистрируют объекты, реализующие или требующие их. Объект Диспетчера категорий компонентов реализует этот интерфейс. Дополнительные сведения об использовании категорий компонентов см. в ICatRegister и ICatInformation .
См. также