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 | 開いているキーの下のレジストリに値を書き込みます。 |
解説
メンバー関数 CreateKey
と Open
非常によく似ています。 レジストリ キーが既に存在し、 CreateKey
Open
同じように機能する場合。 ただし、レジストリ キーが存在しない場合は作成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;
}
継承階層
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の組み合わせに設定されます。 レジストリと共にセキュリティ アクセスの詳細については、「レジストリ キーのセキュリティとアクセス権」を参照してください。
リリースのCSettingsStore
m_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
のサブキーとしての pszKey のm_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」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示