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 |
|
DLL |
|
Weitere Informationen