次の方法で共有


rdx

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

構文

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

パラメーター

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

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

regtype
追加するレジストリ キーの種類。 値は、textdwordbinaryCString のいずれかです。

解説

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

この属性は、coclassprogid、または vi_progid 属性、またはこれらのいずれかを意味するその他の属性と組み合わせて使用できます。

必要条件

属性コンテキスト Value
適用対象 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