Categorizando por recursos de componente
As categorias de componentes podem ser usadas para exibir um subconjunto de todos os componentes instalados. Cada categoria de componente é identificada por um GUID, conhecido como ID de categoria (CATID). Cada CATID tem uma lista de nomes marcados por localidade e legíveis por humanos associados a ele. Uma listagem dos CATIDs e dos nomes legíveis por humanos é armazenada em um local bem conhecido no registro.
Por exemplo, todos os componentes que implementam a funcionalidade para incorporação de documentos OLE podem ser classificados em uma categoria de componente. No passado, esses objetos teriam sido identificados pela chave "Inserível" no registro. Para usar categorias de componentes em vez disso, as seguintes informações seriam adicionadas ao registro:
HKEY_CLASSES_ROOT\Component Categories\{40FC6ED3-2438-11cf-A3DB-080036F12502}
(Default) = ""
409 = "Embeddable Objects"
Cada classe que implementa a funcionalidade correspondente a uma categoria de componente lista a ID da categoria para essa categoria dentro da chave CLSID no Registro. Como um único componente pode oferecer suporte a uma ampla gama de funcionalidades, os componentes podem pertencer a várias categorias de componentes. Por exemplo, um controle OLE específico pode oferecer suporte a toda a funcionalidade necessária para participar como incorporação de documento OLE, associação de dados do Microsoft Visual Basic e funcionalidade da Internet. Tal controle teria as seguintes informações armazenadas em sua chave CLSID no registro:
;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...}
Com essas informações, um contêiner pode enumerar os controles instalados em um sistema e exibir somente os controles que oferecem suporte à funcionalidade exigida pelo contêiner. O uso de categorias de componentes fornece uma maneira de categorizar componentes pela funcionalidade implementada do componente.
Tópicos relacionados