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