次の方法で共有


SHRegGetUSValueW 関数 (shlwapi.h)

ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) のレジストリ サブキーから値を取得します。

構文

LSTATUS SHRegGetUSValueW(
  [in]                LPCWSTR pszSubKey,
  [in, optional]      LPCWSTR pszValue,
  [in, out, optional] DWORD   *pdwType,
  [out, optional]     void    *pvData,
  [in, out, optional] DWORD   *pcbData,
  [in]                BOOL    fIgnoreHKCU,
  [in, optional]      void    *pvDefaultData,
  [in]                DWORD   dwDefaultDataSize
);

パラメーター

[in] pszSubKey

型: LPCTSTR

HKEY_LOCAL_MACHINEHKEY_CURRENT_USERを基準にしたサブキーの名前を持つ null で終わる文字列へのポインター。 例: "Software\MyCompany\MyProduct"。

[in, optional] pszValue

型: LPCTSTR

値の名前を持つ null で終わる文字列へのポインター。 この値は NULLできます。

[in, out, optional] pdwType

型: DWORD*

取得した値に格納されているデータの型を受け取る DWORD へのポインター。 既定値を使用する場合、pdwType 入力は既定値の型です。 使用可能な値については、「レジストリ データ型 」を参照してください。 型情報が不要な場合、このパラメーターは NULLできます。

[out, optional] pvData

型: void*

値のデータを受け取るバッファーへのポインター。

[in, out, optional] pcbData

型: DWORD*

pvDataが指すバッファーのサイズをバイト単位で指定する変数 ポインター。 SHRegGetUSValue 戻ると、pcbData には、pvDataにコピーされたデータのサイズが含まれます。

[in] fIgnoreHKCU

型: BOOL

参照するキーを指定する変数。 TRUEに設定すると、SHRegGetUSValue HKEY_CURRENT_USER は無視され、HKEY_LOCAL_MACHINEの下のキーから値が返されます。

[in, optional] pvDefaultData

型: void*

値の既定のデータを受け取るバッファーへのポインター。

[in] dwDefaultDataSize

型: DWORD

pvDefaultData指すバッファーの長さ (バイト単位)。

戻り値

型: LSTATUS

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

備考

fIgnoreHKCU が TRUEに設定されている場合、SHRegGetUSValue HKEY_LOCAL_MACHINEの下のキーから値を返します。 FALSEに設定すると、SHRegGetUSValue 最初に HKEY_CURRENT_USERのキーから値を返そうとします。 ただし、HKEY_CURRENT_USERの下にキーが見つからない場合は、HKEY_LOCAL_MACHINEの下のキーから値が返されます。 どちらのキーも存在しない場合、またはエラーが発生し、dwDefaultDataSize が 0 以外の場合は、既定のデータ pvData にコピーされ、ERROR_SUCCESSが返されます。 ERROR_SUCCESSは、既定のデータと既定以外のデータの両方に対して返され、pvDataコピーする値を区別する方法はありません。 既定のデータを使用しないようにするには、pvDefaultData NULL に設定し、dwDefaultDataSize を 0 に します。

この関数は、キーが使用されるたびにキーを開きます。 コードで同じキーから一連の値を取得する必要がある場合は、SHRegOpenUSKey を使用してキー を 1 回開き、SHRegQueryUSValue を使用してデータを取得する方が効率的です。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー shlwapi.h
ライブラリ Shlwapi.lib
DLL Shlwapi.dll (バージョン 4.71 以降)