ClusterRegCreateKey 関数 (clusapi.h)
指定した クラスター データベース キーを作成します。 データベースにキーが既に存在する場合は、変更を加えずに ClusterRegCreateKey によって 開かれます。
構文
LONG ClusterRegCreateKey(
[in] HKEY hKey,
[in] LPCWSTR lpszSubKey,
[in] DWORD dwOptions,
[in] REGSAM samDesired,
[in, optional] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[out] PHKEY phkResult,
[out, optional] LPDWORD lpdwDisposition
);
パラメーター
[in] hKey
開いているクラスター データベース キーを処理します。 このパラメーターを NULL にすることはできません。
[in] lpszSubKey
作成または開くサブキーの名前を指定する null で終わる Unicode 文字列へのポインター。 lpszSubKey パラメーターは、次のサブキーを指す必要があります。
- hKey で識別されるキーの子キーです。
- 円記号 ( \ ) で始まらてはいけません。
- NULL にすることはできません。
[in] dwOptions
このキーの特別なオプションを指定します。 現在、 dwOptions は次の値に設定できます。
REG_OPTION_NON_VOLATILE (0x00000000)
開かれたキーまたは作成されたキーは揮発性ではありません。情報は、システムの再起動時に保持されます。
[in] samDesired
新しいキーに必要なセキュリティ アクセスを指定するアクセス マスク。 次の値が有効です。
詳細については、「 レジストリ キーのセキュリティとアクセス権」を参照してください。
ACCESS_SYSTEM_SECURITY (0x01000000)
システム セキュリティにアクセスするためのアクセス許可。 これは、システム アクセス制御リスト (SACL) へのアクセスを示すために使用されます。 この種類のアクセスには、呼び出し元プロセスに SE_SECURITY_NAME (監査ログとセキュリティ ログの管理) 特権が必要です。
DELETE (0x00010000)
削除するアクセス許可。
KEY_ALL_ACCESS (0x000F003F)
KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYS、KEY_NOTIFY、KEY_CREATE_SUB_KEY、KEY_CREATE_LINK、KEY_SET_VALUE アクセスの組み合わせ。
KEY_CREATE_LINK (0x00000020)
シンボリック リンクを作成するためのアクセス許可。
KEY_ENUMERATE_SUB_KEYS (0x00000008)
サブキーを列挙するアクセス許可。
KEY_EXECUTE (0x00020019)
読み取りアクセスのアクセス許可。
KEY_NOTIFY (0x00000010)
変更通知のアクセス許可。
KEY_QUERY_VALUE (0x00000001)
サブキー データのクエリを実行するアクセス許可。
KEY_READ (0x00020019)
KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYS、KEY_NOTIFY アクセスの組み合わせ。
KEY_SET_VALUE (0x00000002)
サブキー データを変更するアクセス許可。
KEY_WRITE (0x00020006)
KEY_SET_VALUEとKEY_CREATE_SUB_KEYアクセスの組み合わせ。
READ_CONTROL (0x00020000)
セキュリティ記述子の所有者、グループ、随 意アクセス制御リスト (DACL) を読み取るアクセス許可。
WRITE_DAC (0x00040000)
DACL に書き込むアクセス許可。
WRITE_OWNER (0x00080000)
所有者を変更するためのアクセス許可。
[in, optional] lpSecurityAttributes
このパラメーターは無視されます。 新しいレジストリ キーにセキュリティ属性を設定するには、 ClusterRegCreateKey が正常に返された後に ClusterRegSetKeySecurity 関数を呼び出します。
[out] phkResult
開かれたキーまたは作成されたキーのハンドルへのポインター。
[out, optional] lpdwDisposition
lpszSubKey が指すキーが開かれたか作成されたかを示す値へのポインター。 次の値が有効です。
REG_CREATED_NEW_KEY (0x00000001)
キーが存在せず、作成されました。
REG_OPENED_EXISTING_KEY (0x00000002)
キーが存在し、開かれていました。
戻り値
操作が成功した場合、関数は ERROR_SUCCESSを返します。
操作が失敗した場合、関数は システム エラー コードを返します。
注釈
呼び出し元は ClusterRegCloseKey を 呼び出して、 ClusterRegCreateKey 関数によって作成されたキー ハンドルを閉じる必要があります。
次のリソース DLL エントリ ポイント関数から ClusterRegCreateKey を呼び出さないでください。
ClusterRegCreateKey は、他のリソース DLL エントリ ポイント関数またはワーカー スレッドから安全に呼び出すことができます。 詳細については、「 リソース DLL での回避する関数呼び出し」を参照してください。要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 Enterprise、Windows Server 2008 Datacenter |
対象プラットフォーム | Windows |
ヘッダー | clusapi.h |
Library | ClusAPI.lib |
[DLL] | ClusAPI.dll |