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 | 開いているキーの下のレジストリに値を書き込みます。 |
解説
メンバー関数 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;
}
継承階層
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_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 の場合、DeleteKey
HKEY_CURRENT_USERで削除するキーを検索します。 bAdmin が 0 以外の場合、DeleteKey
HKEY_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 を参照してください。