Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |
---|---|
|
Gibt an, dass einer der Parameter, die an die Methode übergeben werden, ungültig ist. |
|
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 |