rdx
The latest version of this topic can be found at rdx.
Creates a registry key or modifies an existing registry key.
Syntax
[ rdx(
key,
valuename=NULL,
regtype
) ]
Parameters
key
The name of the key to be created or opened.
valuename
(optional)
Specifies the value field to be set. If a value field with this name does not already exist in the key, it is added.
regtype
The type of registry key being added. Can be one of the following: text, dword, binary, or CString
.
Remarks
The rdx C++ attribute creates or modifies an existing registry key for a COM component. The attribute adds a BEGIN_RDX_MAP macro to the object that implements the target member. RegistryDataExchange
, a function injected as a result of the BEGIN_RDX_MAP macro, can be used to transfer data between the registry and the data members
This attribute can be used in conjunction with the coclass, progid, or vi_progid attributes or other attributes that implies one of these.
Requirements
Attribute Context
Applies to | class or struct member |
Repeatable | No |
Required attributes | None |
Invalid attributes | None |
For more information about the attribute contexts, see Attribute Contexts.
Example
The following code adds a registry key called MyValue to the system describing the CMyClass COM component.
// 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];
};