Condividi tramite


Funzione ClusterRegCreateKey (clusapi.h)

Crea una chiave del database cluster specificata. Se la chiave esiste già nel database, ClusterRegCreateKey la apre senza apportare modifiche.

Sintassi

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
);

Parametri

[in] hKey

Gestire in una chiave di database del cluster aperta. Questo parametro non può essere NULL.

[in] lpszSubKey

Puntatore a una stringa Unicode con terminazione Null che specifica il nome della sottochiave da creare o aprire. Il parametro lpszSubKey deve puntare a una sottochiave che:

  • Chiave figlio della chiave identificata da hKey.
  • Non deve iniziare con il carattere barra rovesciata ( \ ).
  • Non deve essere NULL.
Il parametro lpszSubKey può puntare a una stringa vuota, causando la restituzione di un handle alla chiave del database rappresentata da hKey.

[in] dwOptions

Specifica opzioni speciali per questa chiave. Attualmente , dwOptions può essere impostato sul valore seguente.

REG_OPTION_NON_VOLATILE (0x00000000)

La chiave aperta o creata non è volatile; le informazioni vengono mantenute al riavvio del sistema.

[in] samDesired

Maschera di accesso che specifica l'accesso di sicurezza necessario per la nuova chiave. I valori seguenti sono validi.

Per altre informazioni, vedere Sicurezza e diritti di accesso delle chiavi del Registro di sistema.

ACCESS_SYSTEM_SECURITY (0x01000000)

Autorizzazione per accedere alla sicurezza del sistema. Viene usato per indicare l'accesso a un elenco di controllo di accesso di sistema (SACL). Questo tipo di accesso richiede che il processo chiamante disponga del privilegio SE_SECURITY_NAME (Gestione del controllo e del log di sicurezza).

DELETE (0x00010000)

Autorizzazione per l'eliminazione.

KEY_ALL_ACCESS (0x000F003F)

Combinazione di KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK e accesso KEY_SET_VALUE .

Autorizzazione per creare un collegamento simbolico.

KEY_ENUMERATE_SUB_KEYS (0x00000008)

Autorizzazione per enumerare le sottochiavi.

KEY_EXECUTE (0x00020019)

Autorizzazione per l'accesso in lettura.

KEY_NOTIFY (0x00000010)

Autorizzazione per la notifica delle modifiche.

KEY_QUERY_VALUE (0x00000001)

Autorizzazione per eseguire query sui dati della sottochiave.

KEY_READ (0x00020019)

Combinazione di KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS e accesso KEY_NOTIFY .

KEY_SET_VALUE (0x00000002)

Autorizzazione per modificare i dati della sottochiave.

KEY_WRITE (0x00020006)

Combinazione di KEY_SET_VALUE e accesso KEY_CREATE_SUB_KEY .

READ_CONTROL (0x00020000)

Autorizzazione per leggere il proprietario, il gruppo e l'elenco di controllo di accesso discrezionale (DACL) del descrittore di sicurezza.

WRITE_DAC (0x00040000)

Autorizzazione per la scrittura nell'elenco DACL.

WRITE_OWNER (0x00080000)

Autorizzazione per modificare il proprietario.

[in, optional] lpSecurityAttributes

Questo parametro viene ignorato. Per impostare gli attributi di sicurezza in una nuova chiave del Registro di sistema, chiamare la funzione ClusterRegSetKeySecurity dopo che ClusterRegCreateKey ha restituito correttamente.

[out] phkResult

Puntatore all'handle della chiave aperta o creata.

[out, optional] lpdwDisposition

Puntatore a un valore che descrive se la chiave a cui punta lpszSubKey è stata aperta o creata. I valori seguenti sono validi.

REG_CREATED_NEW_KEY (0x00000001)

La chiave non esiste ed è stata creata.

REG_OPENED_EXISTING_KEY (0x00000002)

La chiave esiste ed è stata aperta.

Valore restituito

Se l'operazione ha esito positivo, la funzione restituisce ERROR_SUCCESS.

Se l'operazione non riesce, la funzione restituisce un codice di errore di sistema.

Commenti

I chiamanti devono chiamare ClusterRegCloseKey per chiudere l'handle di chiave creato dalla funzione ClusterRegCreateKey al termine dell'operazione.

Non chiamare ClusterRegCreateKey dalle funzioni del punto di ingresso della DLL di risorse seguenti:

ClusterRegCreateKey può essere chiamato in modo sicuro da qualsiasi altra funzione del punto di ingresso della DLL di risorse o da un thread di lavoro. Per altre informazioni, vedere Chiamate di funzione da evitare nelle DLL delle risorse.

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Piattaforma di destinazione Windows
Intestazione clusapi.h
Libreria ClusAPI.lib
DLL ClusAPI.dll

Vedi anche

Funzioni di accesso al Registro di sistema del cluster

ClusterRegCloseKey

ClusterRegDeleteKey

ClusterRegOpenKey