CSettingsStore クラス

注

Microsoft Foundation Classes (MFC) ライブラリは引き続きサポートされています。 ただし、機能の追加やドキュメントの更新は行われません。

Windows API 関数をラップし、レジストリへのアクセスに使用するオブジェクト指向インターフェイスを提供します。

構文

class CSettingsStore : public CObject

メンバー

パブリック コンストラクター

名前 説明
CSettingsStore::CSettingsStore CSettingsStore オブジェクトを構築します。

パブリック メソッド

名前 説明
CSettingsStore::Close 開いているレジストリ キーを閉じます。
CSettingsStore::CreateKey 指定したキーを開くか、存在しない場合は作成します。
CSettingsStore::D eleteKey 指定したキーとそのすべての子を削除します。
CSettingsStore::D eleteValue 開いているキーの指定した値を削除します。
CSettingsStore::Open 指定したキーを開きます。
CSettingsStore::Read 指定したキー値のデータを取得します。
CSettingsStore::Write 開いているキーの下のレジストリに値を書き込みます。

解説

メンバー関数 CreateKey と Open は非常によく似ています。 レジストリ キーが既に存在する場合は、 CreateKey と Open 同じ方法で機能します。 ただし、レジストリ キーが存在しない場合は、 CreateKey によって作成されますが、 Open はエラー値を返します。

例

次の例では、 CSettingsStore クラスの Open メソッドと Read メソッドを使用する方法を示します。 このコード スニペットは、 Tool Tip Demo サンプルの一部です。

CSettingsStore reg(FALSE, TRUE);
DWORD dwEnableBalloonTips = 1;

if (reg.Open(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")) &&
    reg.Read(_T("EnableBalloonTips"), dwEnableBalloonTips))
{
   return dwEnableBalloonTips == 1;
}

継承階層

CObject

CSettingsStore

要件

ヘッダー: afxsettingsstore.h

CSettingsStore::Close

開いているレジストリ キーを閉じます。

virtual void Close();

解説

既定では、このメソッドは CSettingsStore クラスのデストラクターから呼び出されます。

CSettingsStore::CreateKey

レジストリ キーを開くか、存在しない場合は作成します。

virtual BOOL CreateKey(LPCTSTR pszPath);

パラメーター

pszPath
[in]作成または開くキーの名前を指定します。

戻り値

成功した場合は 0。それ以外の場合は 0 以外の値。

解説

CreateKey は、レジストリの問い合わせのルートとして m_hKey を使用します。 のサブキーとしてm_hKeyを検索します。 キーが存在しない場合は、キー CreateKey 作成されます。 それ以外の場合は、キーが開きます。 CreateKey 次に、 m_hKey を作成または開いたキーに設定します。

CSettingsStore::CSettingsStore

CSettngsStore オブジェクトを作成します。

CSettingsStore(
    BOOL bAdmin,
    BOOL bReadOnly);

パラメーター

bAdmin
[in] CSettingsStore オブジェクトが管理者モードで動作するかどうかを指定するブール型パラメーター。

bReadOnly
[in] CSettingsStore オブジェクトを読み取り専用モードで作成するかどうかを指定するブール型パラメーター。

解説

bAdmin が TRUE に設定されている場合、m_hKeyメンバー変数はHKEY_LOCAL_MACHINEに設定されます。 bAdmin を FALSE に設定すると、m_hKeyは HKEY_CURRENT_USER に設定されます。

セキュリティ アクセスは、 bReadOnly パラメーターによって異なります。 bReadonly が FALSE の場合、セキュリティ アクセスは KEY_ALL_ACCESS に設定されます。 bReadyOnly が TRUE の場合、セキュリティ アクセスはKEY_QUERY_VALUE、KEY_NOTIFY、およびKEY_ENUMERATE_SUB_KEYSの組み合わせに設定されます。 レジストリと共にセキュリティ アクセスの詳細については、「 Registry Key Security and Access Rightsを参照してください。

CSettingsStore リリースのデストラクターは自動的にm_hKey。

CSettingsStore::D eleteKey

キーとそのすべての子をレジストリから削除します。

virtual BOOL DeleteKey(
    LPCTSTR pszPath,
    BOOL bAdmin = FALSE);

パラメーター

pszPath
[in]削除するキーの名前。

bAdmin
[in]削除するキーの場所を指定するスイッチ。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

CSettingsStore オブジェクトが読み取り専用モードの場合、このメソッドは失敗します。

パラメーター bAdmin が 0 の場合、DeleteKeyHKEY_CURRENT_USERで削除するキーを検索します。 bAdmin が 0 以外の場合、DeleteKeyHKEY_LOCAL_MACHINEで削除するキーを検索します。

CSettingsStore::D eleteValue

m_hKeyから値を削除します。

virtual BOOL DeleteValue(LPCTSTR pszValue);

パラメーター

pszValue
[in]削除する値フィールドを指定します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CSettingsStore::Open

レジストリ キーを開きます。

virtual BOOL Open(LPCTSTR pszPath);

パラメーター

pszPath
[in]レジストリ キーの名前。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このメソッドは、指定されたキーを正常に開いた後、 m_hKey をこのキーのハンドルに設定します。

CSettingsStore::Read

レジストリ内のキーから値を読み取ります。

virtual BOOL Read(
    LPCTSTR pszKey,
    int& iVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    DWORD& dwVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    CString& sVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    CStringList& scStringList);

virtual BOOL Read(
    LPCTSTR pszKey,
    CStringArray& scArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CDWordArray& dwcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CWordArray& wcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CByteArray& bcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    LPPOINT& lpPoint);

virtual BOOL Read(
    LPCTSTR pszKey,
    CRect& rect);

virtual BOOL Read(
    LPCTSTR pszKey,
    BYTE** ppData,
    UINT* pBytes);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObList& list);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObject& obj);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObject*& pObj);

パラメーター

pszKey
[in]レジストリから読み取る値の名前を含む null で終わる文字列へのポインター。

iVal
[out]レジストリ キーから読み取られた値を受け取る整数変数への参照。

dwVal
[out]レジストリ キーから読み取られた値を受け取る 32 ビットの二重ワード変数への参照。

sVal
[out]レジストリ キーから読み取られた値を受け取る文字列変数への参照。

scStringList
[out]レジストリ キーから読み取られた値を受け取る文字列リスト変数への参照。

scArray
[out]レジストリ キーから読み取られた値を受け取る文字列配列変数への参照。

dwcArray
[out]レジストリ キーから読み取られた値を受け取る 32 ビットのダブル ワード配列変数への参照。

wcArray
[out]レジストリ キーから読み取られた値を受け取る 16 ビットワード配列変数への参照。

bcArray
[out]レジストリ キーから読み取られた値を受け取るバイト配列変数への参照。

lpPoint
[out]レジストリ キーから読み取られた値を受け取る POINT 構造体へのポインターへの参照。

rect
[out]レジストリ キーから読み取られた値を受け取る CRect 変数への参照。

ppData
[out]レジストリ キーから読み取られた値を受け取るデータへのポインターへのポインター。

pBytes
[out]符号なし整数変数へのポインター。 この変数は、 ppData が指すバッファーのサイズを受け取ります。

list
[out]レジストリ キーから読み取られた値を受け取る CObList 変数への参照。

obj
[out]レジストリ キーから読み取られた値を受け取る CObject 変数への参照。

pObj
[out]レジストリ キーから読み取られた値を受け取る CObject 変数へのポインターへの参照。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

Read は、 pszKey を m_hKeyのサブキーとしてチェックします。

CSettingsStore::Write

開いているキーの下のレジストリに値を書き込みます。

virtual BOOL Write(
    LPCTSTR pszKey,
    int iVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    DWORD dwVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPCTSTR pszVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    CStringList& scStringList);

virtual BOOL Write(
    LPCTSTR pszKey,
    CByteArray& bcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CStringArray& scArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CDWordArray& dwcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CWordArray& wcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    const CRect& rect);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPPOINT& lpPoint);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPBYTE pData,
    UINT nBytes);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObList& list);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObject& obj);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObject* pObj);

パラメーター

pszKey
[in]設定する値の名前を含む文字列へのポインター。

iVal
[in]格納するデータを含む整数変数への参照。

dwVal
[in]格納するデータを含む 32 ビットの二重ワード変数への参照。

pszVal
[in]格納するデータを含む null で終わる文字列変数へのポインター。

scStringList
[in]格納するデータを含む CStringList 変数への参照。

bcArray
[in]格納するデータを含むバイト配列変数への参照。

scArray
[in]格納するデータを含む文字列配列変数への参照。

dwcArray
[in]格納するデータを含む 32 ビットの二重ワード配列変数への参照。

wcArray
[in]格納するデータを含む 16 ビットワード配列変数への参照。

rect
[in]格納するデータを含む CRect 変数への参照。

lpPoint
[in]格納するデータを含む POINT 変数へのポインターへの参照。

pData
[in]格納するデータを格納するバッファーへのポインター。

nBytes
[in] pData パラメーターがポイントするデータのサイズ (バイト単位) を指定します。

list
[in]格納するデータを含む CObList 変数への参照。

obj
[in]格納するデータを含む CObject 変数への参照。

pObj
[in]格納するデータを含む CObject 変数へのポインターへのポインター。

戻り値

成功した場合は TRUE、それ以外の場合は FALSE。

解説

レジストリに書き込むには、CSettingsStore オブジェクトを作成するときに、bReadOnly を 0 以外の値に設定する必要があります。 詳細については、「 CSettingsStore::CSettingsStore を参照してください。

関連項目

階層図
クラス
CWinAppEx クラス