rdx
レジストリ キーを作成するか、または既存のレジストリ キーを変更します。
[ rdx(
key,
valuename=NULL,
regtype
) ]
パラメータ
key
作成するキーまたは開くキーの名前。valuename (省略可能)
設定される値フィールドを指定します。この名前の値フィールドがキーに存在しない場合は、追加されます。regtype
追加するレジストリ キーの型。text、dword、binary、CString のいずれかを指定します。
解説
C++ 属性 rdx は、COM コンポーネントのレジストリ キーを作成したり、既存のレジストリ キーを変更したりします。この属性によって、適用先メンバを実装するオブジェクトに BEGIN_RDX_MAP マクロが追加されます。BEGIN_RDX_MAP マクロの結果として挿入された RegistryDataExchange 関数を使用すると、レジストリとデータ メンバの間でデータを転送できます。
この属性は、coclass、progid、vi_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];
};