次の方法で共有


rdx

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

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

パラメーター

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

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

  • regtype
    追加するレジストリ キーの型。 次のいずれかの値を指定します。text, dword, binary, or CString.

解説

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];
};

参照

参照

registration_script

その他の技術情報

COM 属性

ATL サンプル