SHRegWriteUSValue ユーザ指定キーへレジストリ値の書き込み

Cの宣言:

LONG SHRegWriteUSValue(
	HUSKEY hUSKey,
	LPCSTR ValueName,
	DWORD ValueType,
	LPVOID Value,
	DWORD ValueSize,
	DWORD Flags);

説明:

hUSKeyで指定されたユーザ指定キーにレジストリ値を設定する。

引数の意味は以下の通り。
hUSKey ユーザ指定キーのハンドル。
ValueName レジストリ値の名前。
ValueType レジストリ値のタイプ。REG_SZでなければならない。
Value 設定するレジストリ値。NULLで終わる文字列でなければならない。
ValueSize 終端のNULLを含まないValueのサイズ。
Flags HKEY_CURRENT_USERとHKEY_LOCAL_MACHINEのどちらにレジストリ値を設定するかを指定するフラグ。SHRegCreateUSKeyを参照。

戻り値は、関数の実行結果を表すエラーコードである。

Cのサンプル:

SHRegWriteUSValueを使用して、HKEY_LOCAL_MACHINEの"Software\masapico"というレジストリキーに"xyz"という名前で"hello world"という値のレジストリ値を書き込む。
void WriteUSValue(void)
{
	HUSKEY hUSKey;
	char *Value = "hello world";

	/* “Sotware\masapico”キーをユーザ指定キーとしてオープンする */
	SHRegOpenUSKey(
		"Software\\masapico",
		KEY_ALL_ACCESS,
		NULL,
		&hUSKey,
		FALSE);

	SHRegWriteUSValue(
		hUSKey,
		"xyz",
		REG_SZ,
		Value,
		lstrlen(Value) + 1,
		SHREGSET_HKLM);

	/* 終了 */
	SHRegCloseUSKey(hUSKey);
	
}
(original text:1999/09/05 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。