CRegKey::QueryStringValue
指定された値名の文字列データを取得します。
LONG QueryStringValue(
LPCTSTR pszValueName,
LPTSTR pszValue,
ULONG* pnChars
) throw( );
パラメーター
pszValueName
照会する値の名前を含む Null で終わる文字列を指すポインター。pszValue
文字列データを受け取るバッファーへのポインター。pnChars
pszValue が指すバッファーの TCHAR 単位のサイズ。 メソッドが戻るとき、取得された文字列の TCHAR 単位のサイズが pnChars に格納されます。終端の NULL 文字も含まれます。
戻り値
メソッドが成功した場合は、ERROR_SUCCESS が返されます。 値の読み取りに失敗すると、WINERROR.H で定義されている 0 以外のエラー コードを返します。 参照されるデータが REG_SZ 型でない場合は、ERROR_INVALID_DATA を返します。 メソッドが ERROR_MORE_DATA を返す場合、pnChars は、必要なバッファー サイズ (バイト数) ではなく、0 になります。
解説
このメソッドは、RegQueryValueEx を使用し、正しい種類のデータが返されたかどうかを確認します。 詳細については、RegQueryValueEx の説明を参照してください。
セキュリティに関するメモ |
---|
呼び出し元では、このメソッドを使用してレジストリの場所を指定できますが、信頼性の低いデータが読み込まれる可能性があります。 また、このメソッドが使用する RegQueryValueEx 関数は、NULL で終わる文字列を明示的に処理しません。 これらの条件については、呼び出し元のコードで確認する必要があります。 |
必要条件
**ヘッダー:**atlbase.h
参照
参照
CRegKey::QueryMultiStringValue