Freigeben über


ClusterRegCreateKey-Funktion (clusapi.h)

Erstellt einen angegebenen Clusterdatenbankschlüssel . Wenn der Schlüssel bereits in der Datenbank vorhanden ist, wird er von ClusterRegCreateKey geöffnet, ohne Änderungen vorzunehmen.

Syntax

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

Parameter

[in] hKey

Handle für einen geöffneten Clusterdatenbankschlüssel. Dieser Parameter darf nicht NULL sein.

[in] lpszSubKey

Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung, die den Namen des zu erstellenden oder zu öffnenden Unterschlüssels angibt. Der parameter lpszSubKey muss auf einen Unterschlüssel verweisen, der:

  • Ist ein untergeordneter Schlüssel des durch hKey identifizierten Schlüssels.
  • Darf nicht mit dem umgekehrten Schrägstrich ( \ ) beginnen.
  • Darf nicht NULL sein.
Der lpszSubKey-Parameter kann auf eine leere Zeichenfolge verweisen, sodass ClusterRegCreateKey ein Handle an den Datenbankschlüssel zurückgibt, der durch hKey dargestellt wird.

[in] dwOptions

Gibt spezielle Optionen für diesen Schlüssel an. Derzeit kann dwOptions auf den folgenden Wert festgelegt werden.

REG_OPTION_NON_VOLATILE (0x00000000)

Der geöffnete oder erstellte Schlüssel ist nicht veränderlich. Die Informationen bleiben erhalten, wenn das System neu gestartet wird.

[in] samDesired

Zugriffsmaske, die den erforderlichen Sicherheitszugriff für den neuen Schlüssel angibt. Die folgenden Werte sind gültig.

Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.

ACCESS_SYSTEM_SECURITY (0x01000000)

Berechtigung für den Zugriff auf die Systemsicherheit. Es wird verwendet, um den Zugriff auf eine Systemzugriffssteuerungsliste (SACL ) anzugeben. Diese Art von Zugriff erfordert, dass der aufrufende Prozess über die Berechtigung SE_SECURITY_NAME (Überwachung und Sicherheitsprotokoll verwalten) verfügt.

DELETE (0x00010000)

Berechtigung zum Löschen.

KEY_ALL_ACCESS (0x000F003F)

Kombination aus KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK und KEY_SET_VALUE Zugriff.

Berechtigung zum Erstellen eines symbolischen Links.

KEY_ENUMERATE_SUB_KEYS (0x00000008)

Berechtigung zum Aufzählen von Unterschlüsseln.

KEY_EXECUTE (0x00020019)

Berechtigung für Lesezugriff.

KEY_NOTIFY (0x00000010)

Berechtigung für Änderungsbenachrichtigungen.

KEY_QUERY_VALUE (0x00000001)

Berechtigung zum Abfragen von Unterschlüsseldaten.

KEY_READ (0x00020019)

Kombination aus KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS und KEY_NOTIFY Zugriff.

KEY_SET_VALUE (0x00000002)

Berechtigung zum Ändern von Unterschlüsseldaten.

KEY_WRITE (0x00020006)

Kombination aus KEY_SET_VALUE und KEY_CREATE_SUB_KEY Zugriff.

READ_CONTROL (0x00020000)

Berechtigung zum Lesen des Besitzers, der Gruppe und der dacl ( Discretionary Access Control List ) des Sicherheitsdeskriptors.

WRITE_DAC (0x00040000)

Berechtigung zum Schreiben in die DACL.

WRITE_OWNER (0x00080000)

Berechtigung zum Ändern des Besitzers.

[in, optional] lpSecurityAttributes

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 32-Bit-Ganzzahl mit Vorzeichen. Um die Sicherheitsattribute für einen neuen Registrierungsschlüssel festzulegen, rufen Sie die ClusterRegSetKeySecurity-Funktion auf, nachdem ClusterRegCreateKey erfolgreich zurückgegeben wurde.

[out] phkResult

Zeiger auf das Handle des geöffneten oder erstellten Schlüssels.

[out, optional] lpdwDisposition

Zeiger auf einen Wert, der beschreibt, ob der Schlüssel geöffnet oder erstellt wurde, auf den lpszSubKey verweist. Die folgenden Werte sind gültig.

REG_CREATED_NEW_KEY (0x00000001)

Der Schlüssel war nicht vorhanden und wurde erstellt.

REG_OPENED_EXISTING_KEY (0x00000002)

Der Schlüssel war vorhanden und wurde geöffnet.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Funktion ERROR_SUCCESS zurück.

Wenn der Vorgang fehlschlägt, gibt die Funktion einen Systemfehlercode zurück.

Hinweise

Aufrufer sollten ClusterRegCloseKey aufrufen, um das von der ClusterRegCreateKey-Funktion erstellte Schlüsselhandle zu schließen, wenn sie damit fertig sind.

Rufen Sie ClusterRegCreateKey nicht über die folgenden Ressourcen-DLL-Einstiegspunktfunktionen auf:

ClusterRegCreateKey kann von jeder anderen Ressourcen-DLL-Einstiegspunktfunktion oder aus einem Workerthread sicher aufgerufen werden. Weitere Informationen finden Sie unter Zu vermeidende Funktionsaufrufe in Ressourcen-DLLs.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2008 Enterprise, Windows Server 2008 Datacenter
Zielplattform Windows
Kopfzeile clusapi.h
Bibliothek ClusAPI.lib
DLL ClusAPI.dll

Weitere Informationen

Clusterregistrierungszugriffsfunktionen

ClusterRegCloseKey

ClusterRegDeleteKey

ClusterRegOpenKey