SHRegCreateUSKey ユーザ指定キーの作成

Cの宣言:

LONG SHRegCreateUSKey(
	LPCTSTR Path,
	REGSAM AccessType,
	HUSKEY hRelativeUSKey,
	PHUSKEY hNewUSKey,
	DWORD Flags);

説明:

hRelativeUSKeyで指定されたレジストリキーのサブキーとして、Pathで指定されたユーザ指定キーを作成する。すでに指定されたユーザ指定キーが存在する場合、ユーザ指定キーをオープンする。

引数の意味は以下の通り。
Path 作成するレジストリキーのパス。
AccessType アクセス権。
hRelativeUSKey 親レジストリキーのハンドル。NULLを指定可能。
hNewUSKey 作成結果のユーザ指定キーのハンドル。
Flags HKEY_CURRENT_USERとHKEY_LOCAL_MACHINEのどちらに作成されるかを表すフラグ。後述の表を参照。

Flgasには以下のフラグの組み合わせを指定可能である。
SHREGSET_HKCU HKEY_CURRENT_USERの下にキーを作成する。
SHREGSET_HKLM HKEY_LOCAL_MACHINEの下にキーを作成する。
SHREGSET_DEFAULT HKEY_CURRENT_USERおよびHKEY_LOCAL_MACHINEの両方にキーを作成する。

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

Cのサンプル:

SHRegCreateUSKeyを使用して、HKEY_LOCAL_MACHINEとHKEY_CURRENT_USERのそれぞれに、“Software\masapico”というキーを作成する。また、そのサブキーとしてHKEY_CURRENT_USERのみに“test”というキーを作成する。
void CreateUSKey(void)
{
	HUSKEY hUSKey;
	HUSKEY hSubUSKey;

	/* HKEY_LOCAL_MACHINEとHKEY_CURRENT_USERに“Software\\masapico”というキーを作成する。*/
	SHRegCreateUSKey(
		"Software\\masapico",
		KEY_ALL_ACCESS,
		NULL,
		&hUSKey,
		SHREGSET_DEFAULT);

	/* HKEY_CURRENT_USERに“Software\\masapico\\test”というキーを作成する。*/
	SHRegCreateUSKey(
		"test",
		KEY_ALL_ACCESS,
		hUSKey,
		&hSubUSKey,
		SHREGSET_HKCU);

	SHRegCloseUSKey(hSubUSKey);
	SHRegCloseUSKey(hUSKey);
}

(original text:1999/10/05 更新)

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