次の方法で共有


rdx

レジストリ キーを作成するか、または既存のレジストリ キーを変更します。

[ rdx( 
      key, 
   valuename=NULL, 
   regtype 
) ]

パラメータ

  • key
    作成するキーまたは開くキーの名前。

  • valuename (省略可能)
    設定される値フィールドを指定します。この名前の値フィールドがキーに存在しない場合は、追加されます。

  • regtype
    追加するレジストリ キーの型。textdwordbinaryCString のいずれかを指定します。

解説

C++ 属性 rdx は、COM コンポーネントのレジストリ キーを作成したり、既存のレジストリ キーを変更したりします。この属性によって、適用先メンバを実装するオブジェクトに BEGIN_RDX_MAP マクロが追加されます。BEGIN_RDX_MAP マクロの結果として挿入された RegistryDataExchange 関数を使用すると、レジストリとデータ メンバの間でデータを転送できます。

この属性は、coclassprogidvi_progid の各属性、またはこれらの属性のうちの 1 つを表す別の属性と組み合わせて使用できます。

必要条件

属性コンテキスト

対象

class メンバまたは struct メンバ

複数回の適用

不可

必要な属性

なし

無効な属性

なし

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

使用例

レジストリ キー MyValue を CMyClass COM コンポーネントが記述されているシステムに追加するコードを次に示します。

// cpp_attr_ref_rdx.cpp
// compile with: /LD /link /OPT:NOREF
#define _ATL_ATTRIBUTES
#include "atlbase.h"

[module (name="MyLib")];

class CMyClass {
public:
   CMyClass() {
      strcpy_s(m_sz, "SomeValue");
   }

   [ rdx(key = "HKCR\\MyApp.MyApp.1", valuename = "MyValue", regtype = "text")] 
   char m_sz[256];
};

参照

概念

COM 属性

registration_script

ATL サンプル