次の方法で共有


CSettingsStore クラス

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 開いているキーの下のレジストリに値を書き込みます。

解説

メンバー関数 CreateKeyOpen は非常によく似ています。 レジストリ キーが既に存在する場合は、 CreateKeyOpen 同じ方法で機能します。 ただし、レジストリ キーが存在しない場合は、 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

要件

Header: afxsettingsstore.h

CSettingsStore::Close

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

virtual void Close();

解説

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

CSettingsStore::CreateKey

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

virtual BOOL CreateKey(LPCTSTR pszPath);

パラメーター

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

戻り値

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

解説

CreateKey は、レジストリの問い合わせのルートとして m_hKey を使用します。 m_hKeyのサブキーとしてpszPathを検索します。 キーが存在しない場合は、キー 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_hKeyHKEY_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 は、 pszKeym_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 クラス