Класс CSettingsStoreSP
Класс 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
классом, чтобы включить динамическое создание.Переопределите виртуальные функции и реализуйте
Read
Write
их в пользовательском классе. Реализуйте любые другие функции для чтения и записи данных в нужное расположение.В приложении вызовите и передайте
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
.