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 檔案或資料庫。 若要這樣做,請遵循下列步驟:

  1. 建立類別(例如 CMyStore),並從 衍生自 CSettingsStore

  2. 搭配自定義CSettingsStore類別使用DECLARE_DYNCREATEIMPLEMENT_DYNCREATE宏,以啟用動態建立。

  3. 覆寫虛擬函式,並在您的自定義類別中實 Read 作 和 Write 函式。 實作任何其他功能,以讀取和寫入數據到您想要的位置。

  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;如果 pRTI識別的類別不是衍生自 CSettingsStore,則為 FALSE。

備註

您可以使用 CSettingsStoreSP 類別CSettingsStore衍生類別。 如果您想要建立衍生自 CSettingsStore的自定義類別物件,請使用 方法SetRuntimeClass

另請參閱

類別
階層架構圖表
CSettingsStore 類別