次の方法で共有


RegSetValueExW 関数 (winreg.h)

レジストリ キーの指定した値のデータと型を設定します。

構文

LSTATUS RegSetValueExW(
  [in]           HKEY       hKey,
  [in, optional] LPCWSTR    lpValueName,
                 DWORD      Reserved,
  [in]           DWORD      dwType,
  [in]           const BYTE *lpData,
  [in]           DWORD      cbData
);

パラメーター

[in] hKey

開いているレジストリ キーへのハンドル。 キーは、KEY_SET_VALUEアクセス権で開かれている必要があります。 詳細については、「レジストリ キーのセキュリティとアクセス権のを する」を参照してください。

このハンドルは、RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx、または RegOpenKeyTransacted 関数 返されます。 また、次のいずれかの定義済みキー することもできます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
この関数の Unicode バージョンでは、次の追加の定義済みキーがサポートされています。
  • HKEY_PERFORMANCE_TEXT
  • HKEY_PERFORMANCE_NLSTEXT

[in, optional] lpValueName

設定する値の名前。 この名前の値がまだキーに存在しない場合、関数によってキーに追加されます。

lpValueName NULL または空の文字列 "" 場合、この関数はキーの名前のない値または既定値の型とデータを設定します。

詳細については、「レジストリ要素のサイズ制限」を参照してください。

レジストリ キーには既定値はありませんが、任意の型の名前のない値を 1 つ持つことができます。

Reserved

このパラメーターは予約済みであり、0 である必要があります。

[in] dwType

lpData パラメーターによって指されるデータの型。 使用可能な型の一覧については、「レジストリ値の型 を参照してください。

[in] lpData

格納するデータ。

REG_SZなどの文字列ベースの型の場合、文字列は null-terminated する必要があります。 REG_MULTI_SZデータ型では、文字列を 2 null 文字で終了する必要があります。

null 値を示す lpData は有効ですが、有効な場合は、cbData '0' に設定する必要があります。
 

[in] cbData

lpData パラメーターが指す情報のサイズ (バイト単位)。 データの種類がREG_SZ、REG_EXPAND_SZ、またはREG_MULTI_SZの場合は、cbData 、終端 null 文字のサイズを含める必要があります。

戻り値

関数が成功した場合、戻り値はERROR_SUCCESS。

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

備考

値のサイズは、使用可能なメモリによって制限されます。 ただし、レジストリに大きな値を格納すると、そのパフォーマンスに影響する可能性があります。 長い値 (2,048 バイトを超える) は、レジストリに格納されているファイルの場所と共にファイルとして格納する必要があります。

アイコン、ビットマップ、実行可能ファイルなどのアプリケーション要素は、ファイルとして格納し、レジストリに配置しないでください。

dwType がREG_SZ、REG_MULTI_SZ、またはREG_EXPAND_SZ型であり、この関数の ANSI バージョンが使用されている場合 (明示的に RegSetValueExA 呼び出すか、Windows.h ファイルを含める前に UNICODE を定義しない場合)、lpData パラメーターが指すデータは ANSI 文字文字列である必要があります。 文字列は、レジストリに格納される前に Unicode に変換されます。

特定のレジストリ キーにアクセスする操作はリダイレクトされることに注意してください。 詳細については、「レジストリ仮想化 およびレジストリの 32 ビットおよび 64 ビット アプリケーション データを する」を参照してください。

レジストリ キーの値を設定するより便利な方法を提供する、RegSetKeyValue 関数の使用を検討してください。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winreg.h (Windows.h を含む)
ライブラリ Advapi32.lib
DLL Advapi32.dll

関連項目

RegSetKeyValue の

RegCreateKeyEx の

RegFlushKey

RegOpenKeyEx を する

RegQueryValueEx の

レジストリ関数 を する

レジストリの概要