次の方法で共有


progid

COM オブジェクトの ProgID を指定します。

[ progid(
      name
) ];

パラメータ

  • name
    オブジェクトを表す ProgID。

    ProgID は、COM オブジェクトと ActiveX オブジェクトの識別に使用するクラス ID (CLSID) のうち、ユーザーが判読できる ID を示します。

解説

C++ 属性 progid を使用して、COM オブジェクトの ProgID を指定できます。ProgID の形式は、name1.name2.version です。ProgID の version を指定しない場合、既定のバージョンは 1 です。name1.name2 を指定しない場合、既定の名前は classname.classname です。progid を指定せずに vi_progid を指定した場合は、vi_progidname1.name2 が使用され、次の連番のバージョンが追加されます。

progid を使用する属性ブロックで uuid を使用しない場合は、コンパイラがレジストリを調べ、指定された progid に対応する uuid が存在するかどうかを確認します。progid を指定しない場合は、バージョン (およびコクラスを作成する場合は、コクラス名) を使用して progid を生成します。

progid は属性 coclass を暗黙に表します。つまり、progid の指定は属性 coclassprogid の指定と同じです。

属性 progid を設定すると、指定した名前でクラスが自動的に登録されます。生成される .idl ファイルに progid 値は表示されません。

ATL を使用するプロジェクト内でこの属性を使用すると、属性の動作が異なります。上記の動作のほかに、この属性を使って指定した情報が属性 coclass によって挿入された GetProgID 関数で使用されます。詳細については、属性 coclass のトピックを参照してください。

使用例

progid の使用例については、「coclass」を参照してください。

必要条件

属性コンテキスト

対象

class、struct

複数回の適用

不可

必要な属性

なし

無効な属性

なし

属性コンテキストの詳細については、「属性コンテキスト」を参照してください。

参照

概念

IDL 属性

クラス属性

Typedef、Enum、Union、および Struct 型の属性

ProgID Key

ATL サンプル