コンポーネントの分類

クライアントはレジストリ内の CLSID の一覧を参照し、使用するコンポーネントを選択することはできますが、レジストリ内の各コンポーネントを読み込んで、サポートされているインターフェイスに対してクエリを実行するのは非常に時間がかかります。 コンポーネントのインスタンスを作成する前に必要なインターフェイスがコンポーネントでサポートされているかどうかを判断するために、コンポーネントをカテゴリに分類するメソッドが開発されました。

コンポーネント カテゴリは、CATID という名前の GUID が割り当てられているインターフェイスのセットです。 コンポーネント カテゴリ内のすべてのインターフェイスを実装するコンポーネントは、そのコンポーネント カテゴリのメンバーとして自身を登録します。 その後、特定のコンポーネント カテゴリに属するコンポーネントをレジストリから選択できます。 コンポーネント カテゴリのメンバーとして自身を登録することで、コンポーネントはコンポーネント カテゴリ内のすべてのメンバー インターフェイスをサポートすることを保証します。

コンポーネントは、多くのカテゴリのメンバーにすることができます。 コンポーネント カテゴリのサポート インターフェイスに限定されるわけではありません。 コンポーネント カテゴリのインターフェイスに加えて、任意のインターフェイスをサポートできます。

開発者がオブジェクトを手動で登録するコードを記述する必要があるコンポーネントの標準登録とは対照的に、コンポーネント カテゴリは、この作業の大部分を自動化します。 ICatRegister インターフェイスの 6 つのメソッドは、コンポーネント カテゴリを定義し、それらを実装または必要とするオブジェクトを登録します。 Component Categories Manager オブジェクトは、このインターフェイスを実装します。 コンポーネント カテゴリの使用方法の詳細については、 ICatRegisterICatInformation を参照してください。

COM アプリケーションの登録