Resources | Resources |



Non-native stores

Non-native stores are data storage mechanisms for which you must provide an ISettings implementation. The registry allows non-native stores to install themselves into the tree and handle any operations that occur on the nodes within that tree.

To create a non-native store, you must provide code containing a custom implementation of the ISettings interface. This code will handle all parsing and processing of settings for the non-native store. SettingsReg delegates all operations on a non-native store to the custom ISettings class.

To use a non-native store, the component instantiates the registry class by calling IEnv_CreateInstance() using the ClassID AEECLSID_SettingsReg. When a component or application accesses a key in the subtree owned by the non-native store, SettingsReg instantiates the custom class (assuming the caller has the appropriate privilege) and delegates the operation to it. For non-native stores, the registry operates as a "pass-through". Technically, the caller could get the same functionality by instantiating the custom class directly instead of the registry. However, using the registry simplifies the usage, especially when the caller is interested in both native and non-native stores.