Freigeben über


ORCreateKey-Funktion

Erstellt den angegebenen Registrierungsschlüssel in einer Offlineregistrierungsstruktur. Wenn der Schlüssel bereits vorhanden ist, wird er von der Funktion geöffnet.

Syntax

DWORD ORCreateKey(
  _In_      ORHKEY               Handle,
  _In_      PCWSTR               lpSubKey,
  _In_opt_  PWSTR                lpClass,
  _In_opt_  DWORD                dwOptions,
  _In_opt_  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  _Out_     PORHKEY              phkResult,
  _Out_opt_ PDWORD               pdwDisposition
);

Parameter

Handle [in]

Ein Handle für einen geöffneten Registrierungsschlüssel in einer Offlineregistrierungsstruktur.

lpSubKey [in]

Ein Zeiger auf eine Unicode-Zeichenfolge, die den Namen eines Unterschlüssels enthält, den diese Funktion öffnet oder erstellt. Der lpSubKey-Parameter muss einen Unterschlüssel des Schlüssels angeben, der durch den Handle-Parameter identifiziert wird. Es kann bis zu 32 Ebenen tief in der Registrierungsstruktur sein. Weitere Informationen zu Schlüsselnamen finden Sie unter Struktur der Registrierung.

Dieser Parameter darf nicht NULL sein.

Bei Schlüsselnamen wird die Groß-/Kleinschreibung nicht beachtet.

lpClass [in, optional]

Die Klasse (Objekttyp) dieses Schlüssels. Dieser Parameter kann ignoriert werden. Dieser Parameter kann NULL sein.

dwOptions [in, optional]

Dieser Parameter kann 0 oder einer der folgenden Werte sein.

Wert Bedeutung
REG_OPTION_CREATE_LINK
0x00000002L
Der Schlüssel ist eine symbolische Verbindung. Der Zielpfad wird dem L"SymbolicLinkValue"-Wert des Schlüssels zugewiesen. Der Zielpfad muss ein absoluter Registrierungspfad sein. Wenn diese Option festgelegt ist, muss auch REG_OPTION_NON_VOLATILE festgelegt werden.
Wenn der lpSubKey-Parameter einen vorhandenen Schlüssel angibt, muss er mit REG_OPTION_CREATE_LINK erstellt worden sein.
Symbolische Registrierungslinks sollten nur verwendet werden, wenn dies für die Anwendungskompatibilität unbedingt erforderlich ist.
REG_OPTION_NON_VOLATILE
0x00000000L
Der Schlüssel ist nicht volatil; Dies ist der Standardwert. Die Informationen werden in einer Datei gespeichert und beim Neustart des Systems beibehalten. Die ORSaveHive-Funktion speichert Schlüssel, die nicht flüchtig sind.

 

pSecurityDescriptor [in, optional]

Ein Zeiger auf eine SECURITY_DESCRIPTOR Struktur, die eine Sicherheitsbeschreibung für den neuen Schlüssel enthält. Wenn pSecurityDescriptorNULL ist, erhält der Schlüssel einen Standardsicherheitsdeskriptor. Die ACLs in einem Standardsicherheitsdeskriptor für einen Schlüssel werden von seinem direkten übergeordneten Schlüssel geerbt.

phkResult [out]

Ein Zeiger auf eine Variable, die ein Handle für den geöffneten oder erstellten Schlüssel empfängt. Verwenden Sie die ORCloseKey-Funktion , um den Schlüssel zu schließen, nachdem Sie die Verwendung des Handles abgeschlossen haben.

pdwDisposition [out, optional]

Ein Zeiger auf eine Variable, die einen der folgenden Dispositionswerte empfängt.

Wert Bedeutung
REG_CREATED_NEW_KEY
0x00000001L
Der Schlüssel war nicht vorhanden und wurde erstellt.
REG_OPENED_EXISTING_KEY
0x00000002L
Der Schlüssel war vorhanden und wurde einfach geöffnet, ohne geändert zu werden.

 

Wenn pdwDispositionNULL ist, werden keine Dispositionsinformationen zurückgegeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein nichtzero-Fehlercode, der in Winerror.h definiert ist. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Wenn der dwOptions-Parameter mit REG_OPTION_CREATE_LINK festgelegt ist, aber REG_OPTION_NON_VOLATILE eindeutig ist, oder wenn das zurückzugebende Handle ein Handle für den Stammschlüssel der Struktur ist, gibt die Funktion ERROR_INVALID_PARAMETER zurück.

Bemerkungen

Der Schlüssel, den die ORCreateKey-Funktion erstellt, weist keine Werte auf. Eine Anwendung kann die ORSetValue-Funktion verwenden, um Schlüsselwerte festzulegen.

Die ORCreateKey-Funktion kann nicht verwendet werden, um den Stammschlüssel in einer Offlineregistrierungsstruktur zu erstellen. Verwenden Sie die ORCreateHive-Funktion , um den Stammschlüssel zu erstellen und ein Handle für den Schlüssel abzurufen.

Das Speichern einzelner Schlüssel wird von der Offlineregistrierung nicht unterstützt. Verwenden Sie die ORSaveHive-Funktion , um einen Schlüssel und seine Unterschlüssel in einer Struktur zu speichern.

Anforderungen

Anforderung Wert
Verteilbare Komponente
Windows-Offlineregistrierungsbibliothek Version 1.0 oder höher
Header
Offreg.h
DLL
Offreg.dll

Weitere Informationen

ORCloseKey

ORErstellenHive

ORDeleteKey

ORSaveHive

SECURITY_DESCRIPTOR