Freigeben über


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

Zeigen Sie auf eine Zeichenfolge, die den Namen des festzulegenden Werteintrags enthält. Die Namenszeichenfolge wird durch eine Struktur vom Typ UNICODE_STRINGangegeben. Wenn der Werteintrag keinen Namen hat, legen Sie diesen Parameter auf NULL-fest. Wenn der Aufrufer eine Namenszeichenfolge angibt, der angegebene Name jedoch nicht relativ zum zugehörigen Schlüssel eindeutig ist, ersetzt die Methode die Daten für 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 vom System definierten 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 ZwSetValueKeyerläutert.

[in] Data

Zeigen Sie auf einen Puffer, der die Daten enthält. Dieser Parameter verweist auf eine vom Benutzer bereitgestellte Struktur oder einen Wert, der für die Funktion geeignet ist.

[in] DataSize

Gibt die Größe in Byte von Dataan. Dieser Parameter gibt an, wie viele Byte von Daten die Methode aus dem Puffer kopiert, auf den Data verweist.

Rückgabewert

SetValueKey gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war, wenn der angegebene Wertschlüssel festgelegt wurde. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabestatuscodes aufgeführt.

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Gibt an, dass einer der Parameter, die an die Methode übergeben werden, ungültig ist.
STATUS_OBJECT_NAME_NOT_FOUND
Gibt an, dass die Methode den benannten Wertschlüssel nicht finden konnte.

Bemerkungen

Wenn der angegebene Schlüssel keinen Werteintrag mit einem Namen aufweist, der dem angegebenen ValueNameentspricht, erstellt SetValueKey einen neuen Werteintrag mit dem angegebenen Namen. Wenn ein übereinstimmenden Werteintragsname vorhanden ist, überschreibt diese Routine den ursprünglichen Werteintrag für den angegebenen ValueName-. Daher behält SetValueKey für jeden Werteintrag eines bestimmten Schlüssels einen eindeutigen Namen bei. Obwohl jeder Werteintragsname für den zugehörigen Schlüssel eindeutig sein muss, können viele verschiedene Schlüssel in der Registrierung Werteinträge mit denselben Namen aufweisen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- portcls.h (include Portcls.h)
IRQL- PASSIVE_LEVEL

Siehe auch

IRegistryKey-

UNICODE_STRING

ZwSetValueKey-