IRegistryKey::SetValueKey-Methode (portcls.h)
Die SetValueKey
-Methode ersetzt oder erstellt einen Werteintrag unter dem geöffneten Schlüssel.
Syntax
NTSTATUS SetValueKey(
[in, optional] PUNICODE_STRING ValueName,
[in] ULONG Type,
[in] PVOID Data,
[in] ULONG DataSize
);
Parameter
[in, optional] ValueName
Zeiger auf eine Zeichenfolge, die den Namen des festzulegenden Werteintrags enthält. Die Namenszeichenfolge wird durch eine Struktur vom Typ UNICODE_STRING angegeben. Wenn der Werteintrag keinen Namen hat, legen Sie diesen Parameter auf NULL fest. Wenn der Aufrufer eine Namenszeichenfolge angibt, aber der angegebene Name relativ zum enthaltenden Schlüssel nicht eindeutig ist, ersetzt die Methode die Daten durch einen vorhandenen Werteintrag.
[in] Type
Gibt den Typ der Daten an, die für ValueName geschrieben werden sollen. Legen Sie diesen Parameter auf einen der folgenden systemdefinierte Typen fest:
REG_BINARY
REG_DWORD
REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN
REG_EXPAND_SZ
REG_LINK
REG_MULTI_SZ
REG_NONE
REG_SZ
REG_RESOURCE_LIST
REG_RESOURCE_REQUIREMENTS_LIST
REG_FULL_RESOURCE_DESCRIPTOR
Diese Parametertypen werden in ZwSetValueKey erläutert.
[in] Data
Zeiger auf einen Puffer, der die Daten enthält. Dieser Parameter verweist auf eine vom Benutzer bereitgestellte Struktur oder einen Wert, der der Funktion entspricht.
[in] DataSize
Gibt die Größe von Daten in Bytes an. Dieser Parameter gibt an, wie viele Bytes daten die Methode aus dem Puffer kopiert, auf den Data verweist.
Rückgabewert
SetValueKey
gibt STATUS_SUCCESS zurück, wenn der Aufruf beim Festlegen des angegebenen Wertschlüssels erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabecodes status aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Gibt an, dass einer der an die -Methode übergebenen Parameter ungültig ist. |
|
Gibt an, dass die Methode den benannten Wertschlüssel nicht finden konnte. |
Hinweise
Wenn der angegebene Schlüssel keinen vorhandenen Werteintrag mit einem Namen aufweist, der mit dem angegebenen ValueName übereinstimmt, SetValueKey
erstellt einen neuen Werteintrag mit dem angegebenen Namen. Wenn ein übereinstimmender Werteintragsname vorhanden ist, überschreibt diese Routine den ursprünglichen Werteintrag für den angegebenen ValueName. SetValueKey
Behält daher einen eindeutigen Namen für jeden Werteintrag eines bestimmten Schlüssels bei. Während jeder Werteintragsname für seinen enthaltenden Schlüssel eindeutig sein muss, können viele verschiedene Schlüssel in der Registrierung Werteinträge mit denselben Namen aufweisen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |