次の方法で共有


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 にすることはできません。
lpszSubKey パラメーターは空の文字列を指す可能性があり、ClusterRegCreateKeyhKey で表されるデータベース キーへのハンドルを返します。

[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_VALUEKEY_ENUMERATE_SUB_KEYS、KEY_NOTIFYKEY_CREATE_SUB_KEYKEY_CREATE_LINKKEY_SET_VALUE アクセスの組み合わせ。

シンボリック リンクを作成するためのアクセス許可。

KEY_ENUMERATE_SUB_KEYS (0x00000008)

サブキーを列挙するアクセス許可。

KEY_EXECUTE (0x00020019)

読み取りアクセスのアクセス許可。

KEY_NOTIFY (0x00000010)

変更通知のアクセス許可。

KEY_QUERY_VALUE (0x00000001)

サブキー データのクエリを実行するアクセス許可。

KEY_READ (0x00020019)

KEY_QUERY_VALUE、KEY_ENUMERATE_SUB_KEYSKEY_NOTIFY アクセスの組み合わせ。

KEY_SET_VALUE (0x00000002)

サブキー データを変更するアクセス許可。

KEY_WRITE (0x00020006)

KEY_SET_VALUEKEY_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

こちらもご覧ください

クラスター レジストリ アクセス関数

ClusterRegCloseKey

ClusterRegDeleteKey

ClusterRegOpenKey