SHGetValueA 関数 (shlwapi.h)

レジストリ値を取得します。

構文

LSTATUS SHGetValueA(
  [in]                HKEY   hkey,
  [in, optional]      LPCSTR pszSubKey,
  [in, optional]      LPCSTR pszValue,
  [out, optional]     DWORD  *pdwType,
  [out, optional]     void   *pvData,
  [in, out, optional] DWORD  *pcbData
);

パラメーター

[in] hkey

種類: HKEY

現在開いているキーへのハンドル、または次の定義済みの値のいずれか。

HKEY_CLASSES_ROOT

HKEY_CURRENT_CONFIG

HKEY_CURRENT_USER

HKEY_LOCAL_MACHINE

HKEY_PERFORMANCE_DATA

HKEY_USERS

[in, optional] pszSubKey

種類: LPCTSTR

値を取得するサブキーの名前を指定する null で終わる文字列のアドレス。

[in, optional] pszValue

種類: LPCTSTR

値のアドレス。

[out, optional] pdwType

型: LPDWORD

値の型。 詳細については、「 レジストリ データ型」を参照してください。

[out, optional] pvData

種類: LPVOID

宛先データ バッファーのアドレス。

[in, out, optional] pcbData

型: LPDWORD

コピー先データ バッファーのサイズ。

戻り値

種類: LSTATUS

成功した場合はERROR_SUCCESSを返し、それ以外の場合は Winerror.h で定義されている 0 以外のエラー コードを返します。 FormatMessage 関数を FORMAT_MESSAGE_FROM_SYSTEM フラグと共に使用して、エラーの一般的な説明を取得できます。

解説

アプリケーションで同じキー内の一連の値を設定または取得する必要がある場合は、この関数を繰り返し使用するのではなく、キーを 1 回開き、通常の Microsoft Win32 レジストリ関数で値を設定/取得することをお勧めします。

注意

shlwapi.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHGetValue を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 4.71 以降)