次の方法で共有


SHRegWriteUSValueA 関数 (shlwapi.h)

ユーザー固有のサブツリー (HKEY_CURRENT_USERまたはHKEY_LOCAL_MACHINE) のレジストリ サブキーに値を書き込みます。

構文

LSTATUS SHRegWriteUSValueA(
  [in] HUSKEY     hUSKey,
  [in] LPCSTR     pszValue,
  [in] DWORD      dwType,
  [in] const void *pvData,
  [in] DWORD      cbData,
  [in] DWORD      dwFlags
);

パラメーター

[in] hUSKey

型: ハスキー

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

このハンドルは、SHRegOpenUSKey 関数を使用して取得できます。

[in] pszValue

型: LPCTSTR

値の名前を指定する null で終わる文字列へのポインター。 この値は、hUSKeyで指定されたサブキーのエントリです。 この名前の値がまだサブキーに存在しない場合は、追加されます。

このパラメーターが NULL または空の文字列 場合、関数はサブキーの既定値の型とデータを設定します。

[in] dwType

型: DWORD

pszValueで指定された値に格納するデータ 型。 Winnt.h および Wdm.h で定義されている次のいずれかのレジストリ値型。

REG_NONE (0x00000000)

REG_SZ (0x00000001)

REG_EXPAND_SZ (0x00000002)

REG_BINARY (0x00000003)

REG_DWORD (0x00000004)

REG_DWORD_LITTLE_ENDIAN (0x00000004)

REG_DWORD_BIG_ENDIAN (0x00000005)

REG_MULTI_SZ (0x00000007)

REG_RESOURCE_LIST (0x00000008)

REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)

REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)

REG_QWORD (0x0000000B)

REG_QWORD_LITTLE_ENDIAN (0x0000000B)

[in] pvData

型: const void*

pszValueで指定された値に設定するデータ ポインター。 REG_SZなどの文字列ベースの型の場合、文字列は null で終わる必要があります。 REG_MULTI_SZデータ型では、文字列を 2 つの null 文字で終了する必要があります。 パス内の円記号の前には、エスケープ文字として別の円記号を付ける必要があります。 たとえば、"C:\mydir\myfile" を指定して文字列 "C:\mydir\myfile" を格納します。

[in] cbData

型: DWORD

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

[in] dwFlags

型: DWORD

データの書き込み先となるサブツリーを示すフラグ。 次の値のうち 1 つ以上。

SHREGSET_HKCU (0x00000001)

pszValue で指定された名前の値が現在指定されたサブキーの下に存在しない場合にのみ、HKEY_CURRENT_USER に書き込みます。

SHREGSET_FORCE_HKCU (0x00000002)

HKEY_CURRENT_USERに書き込みます。 pszValue に指定 名前の値が既に存在する場合は、上書きされます。

SHREGSET_HKLM (0x00000004)

pszValue で指定された名前の値が現在指定されたサブキーの下に存在しない場合にのみ、HKEY_LOCAL_MACHINE に書き込みます。

SHREGSET_FORCE_HKLM (0x00000008)

HKEY_LOCAL_MACHINEに書き込みます。 pszValue に指定 名前の値が既に存在する場合は、上書きされます。

SHREGSET_DEFAULT (0x00000006)

(SHREGSET_FORCE_HKCU | SHREGSET_HKLM) と同じです。

戻り値

型: LSTATUS

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

備考

SHRegWriteUSValue使用するには、最初に SHRegOpenUSKeyキーを開く必要があります。 キーが開いたら、必要な回数だけ SHRegWriteUSValue 使用できます。

1 つの値のみを書き込む必要がある場合は、SHRegSetUSValueを使用する必要があります。この両方でキーが開かれ、値が書き込まれます。

同じキーに複数の値を書き込む必要がある場合、SHRegWriteUSValue を する複数の呼び出しは、通常、SHRegSetUSValueよりも効率的です。これは、キーが 1 回だけ開かれるためです。

手記

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

必要条件

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

関連項目

レジストリ値の型