Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс CSettingsStoreSP является вспомогательным классом, который можно использовать для создания экземпляров класса CSettingsStore.
Синтаксис
class CSettingsStoreSP
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| CSettingsStoreSP::CSettingsStoreSP | Формирует объект CSettingsStoreSP. |
Открытые методы
| Имя | Описание |
|---|---|
| CSettingsStoreSP::Create | Создает экземпляр класса, производный от CSettingsStore. |
| CSettingsStoreSP::SetRuntimeClass | Задает класс среды выполнения. Метод Create использует класс среды выполнения для определения того, какой класс объектов нужно создать. |
Элементы данных
| Имя | Описание |
|---|---|
m_dwUserData |
Пользовательские данные пользователя, хранящиеся в объекте CSettingsStoreSP . Эти данные предоставляются в конструкторе CSettingsStoreSP объекта. |
m_pRegistry |
Производный CSettingsStoreот метода объект Create . |
Замечания
Класс можно использовать CSettingsStoreSP для перенаправления всех операций реестра MFC в другие расположения, например XML-файл или базу данных. Для этого выполните следующие шаги.
Создайте класс (например
CMyStore) и наследуйте его.CSettingsStoreИспользуйте макросы DECLARE_DYNCREATE и IMPLEMENT_DYNCREATE с пользовательским
CSettingsStoreклассом, чтобы включить динамическое создание.Переопределите виртуальные функции и реализуйте
ReadWriteих в пользовательском классе. Реализуйте любые другие функции для чтения и записи данных в нужное расположение.В приложении вызовите и передайте
CSettingsStoreSP::SetRuntimeClassуказатель на структуру CRuntimeClass, полученную из класса.
Каждый раз, когда платформа будет получать доступ к реестру, теперь она будет динамически создавать экземпляр пользовательского класса и использовать его для чтения или записи данных.
CSettingsStoreSP::SetRuntimeClass использует глобальную статическую переменную. Поэтому одновременно доступно только одно пользовательское хранилище.
Требования
Заголовок: afxsettingsstore.h
CSettingsStoreSP::Create
Создает новый экземпляр объекта, производный от класса CSettingsStore.
CSettingsStore& CSettingsStoreSP Create(
BOOL bAdmin,
BOOL bReadOnly);
Параметры
bAdmin
[in] Логический параметр, определяющий, создается ли CSettingsStore объект в режиме администратора.
bReadOnly
[in] Логический параметр, определяющий, создается ли CSettingsStore объект для доступа только для чтения.
Возвращаемое значение
Ссылка на только что созданный CSettingsStore объект.
Замечания
Метод CSettingsStoreSP::SetRuntimeClass можно использовать для определения типа создаваемого объектаCSettingsStoreSP::Create. По умолчанию этот метод создает CSettingsStore объект.
Если вы создаете CSettingsStore объект в режиме администратора, расположение по умолчанию для всех доступа к реестру HKEY_LOCAL_MACHINE. В противном случае расположение по умолчанию для всех доступа к реестру HKEY_CURRENT_USER.
Если bAdmin имеет значение TRUE, приложение должно иметь права администрирования. В противном случае он завершится ошибкой при попытке получить доступ к реестру.
Пример
В следующем примере показано, как использовать Create метод CSettingsStoreSP класса.
CSettingsStoreSP regSP;
CSettingsStore ® = regSP.Create(FALSE, TRUE);
CSettingsStoreSP::CSettingsStoreSP
Создает объект класса CSettingsStoreSP.
CSettingsStoreSP::CSettingsStoreSP(DWORD dwUserData = 0);
Параметры
dwUserData
[in] Определяемые пользователем CSettingsStoreSP данные, которые хранит объект.
Замечания
Объект CSettingsStoreSP сохраняет данные из dwUserData в защищенной переменной-члене m_dwUserData.
CSettingsStoreSP::SetRuntimeClass
Задает класс среды выполнения. Метод CSettingsStoreSP::Create использует класс среды выполнения для определения типа создаваемого объекта.
static BOOL __stdcall CSettingsStoreSP::SetRuntimeClass(CRuntimeClass* pRTI);
Параметры
pRTI
[in] Указатель на сведения о классе среды выполнения для класса, производный от класса CSettingsStore.
Возвращаемое значение
Значение TRUE, если выполнено успешно; ЗНАЧЕНИЕ FALSE, если класс, определенный pRTI, не является производным от CSettingsStore.
Замечания
Класс CSettingsStoreSP можно использовать для получения классов.CSettingsStore Используйте метод SetRuntimeClass , если вы хотите создать объекты пользовательского класса, производного от CSettingsStore.