Поделиться через


Класс CSettingsStoreSP

Замечание

Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Класс CSettingsStoreSP является вспомогательным классом, который можно использовать для создания экземпляров класса CSettingsStore.

Синтаксис

class CSettingsStoreSP

Участники

Открытые конструкторы

Имя Описание
CSettingsStoreSP::CSettingsStoreSP Формирует объект CSettingsStoreSP.

Открытые методы

Имя Описание
CSettingsStoreSP::Create Создает экземпляр класса, производный от CSettingsStore.
CSettingsStoreSP::SetRuntimeClass Задает класс среды выполнения. Метод Create использует класс среды выполнения для определения того, какой класс объектов нужно создать.

Элементы данных

Имя Описание
m_dwUserData Пользовательские данные пользователя, хранящиеся в объекте CSettingsStoreSP . Эти данные предоставляются в конструкторе CSettingsStoreSP объекта.
m_pRegistry Производный CSettingsStoreот метода объект Create .

Замечания

Класс можно использовать CSettingsStoreSP для перенаправления всех операций реестра MFC в другие расположения, например XML-файл или базу данных. Для этого выполните следующие шаги.

  1. Создайте класс (напримерCMyStore) и наследуйте его.CSettingsStore

  2. Используйте макросы DECLARE_DYNCREATE и IMPLEMENT_DYNCREATE с пользовательским CSettingsStore классом, чтобы включить динамическое создание.

  3. Переопределите виртуальные функции и реализуйте ReadWrite их в пользовательском классе. Реализуйте любые другие функции для чтения и записи данных в нужное расположение.

  4. В приложении вызовите и передайте 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 &reg = 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.

См. также

Классы
Диаграмма иерархии
Класс CSettingsStore