次の方法で共有


registration_script

指定したカスタム登録スクリプトを実行します。

[ registration_script( 
      script 
) ]

パラメータ

  • script
    カスタム登録スクリプト (.rgs) ファイルの完全パス。script = "none" のように値が none の場合は、コクラスの登録が不要であることを示します。

解説

C++ 属性 registration_scriptscript で指定したカスタム登録スクリプトを実行します。この属性を指定しない場合は、標準 .rgs ファイル (コンポーネントの登録情報が含まれるファイル) が使用されます。.rgs ファイルの詳細については、「ATL レジストリ コンポーネント (レジストラ)」を参照してください。

この属性を使用する場合は、同じ要素に対して coclassprogid、または vi_progid の各属性 (あるいは、これらの 1 つを表す別の属性) も適用する必要があります。

使用例

コンポーネントが cpp_attr_ref_registration_script.rgs というレジストリ スクリプトを持つことを示すコードは次のとおりです。

// cpp_attr_ref_registration_script.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"

[module (name="REG")];

[object, uuid("d9cd196b-6836-470b-9b9b-5b04b828e5b0")]
__interface IFace {};

// requires "cpp_attr_ref_registration_script.rgs"
// create sample .RGS file "cpp_attr_ref_registration_script.rgs" if it does not exist
[ coclass, registration_script(script="cpp_attr_ref_registration_script.rgs"),
  uuid("50d3ad42-3601-4f26-8cfe-0f1f26f98f67")]
class CMyClass:public IFace {};

必要条件

属性コンテキスト

対象

class、struct

複数回の適用

不可

必要な属性

coclassprogidvi_progid の中から 1 つ以上

無効な属性

なし

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

参照

概念

COM 属性

クラス属性

rdx

ATL サンプル