Share via


CSettingsStore クラス

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

構文

class CSettingsStore : public CObject

メンバー

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

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

パブリック メソッド

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

解説

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

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

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

C設定Store::Close

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

virtual void Close();

解説

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

C設定Store::CreateKey

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

virtual BOOL CreateKey(LPCTSTR pszPath);

パラメーター

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

戻り値

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

解説

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

C設定Store::C設定Store

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

CSettingsStore(
    BOOL bAdmin,
    BOOL bReadOnly);

パラメーター

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

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

解説

b管理 が TRUE に設定されている場合m_hKeyメンバー変数はHKEY_LOCAL_MACHINEに設定されます b管理 を FAL Standard Edition に設定すると、 m_hKey HKEY_CURRENT_UStandard Edition R設定されます。

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

リリースのCSettingsStorem_hKeyデストラクターを自動的に指定します。

C設定Store::D eleteKey

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

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

パラメーター

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

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

戻り値

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

解説

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

パラメーター b管理 が 0 の場合は、 DeleteKey HKEY_CURRENT_UStandard Edition R削除するキーを検索します。 b管理 が 0 以外の場合は、 DeleteKey HKEY_LOCAL_MACHINEの下で削除するキーを検索します。

C設定Store::D eleteValue

から m_hKey値を削除します。

virtual BOOL DeleteValue(LPCTSTR pszValue);

パラメーター

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

戻り値

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

C設定Store::Open

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

virtual BOOL Open(LPCTSTR pszPath);

パラメーター

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

戻り値

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

解説

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

C設定Store::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チェック。

C設定Store::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。

解説

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

関連項目

階層図
クラス
CWinAppEx クラス