RegSetValueExA-Funktion (winreg.h)
Legt die Daten und den Typ eines angegebenen Werts unter einem Registrierungsschlüssel fest.
Syntax
LSTATUS RegSetValueExA(
[in] HKEY hKey,
[in, optional] LPCSTR lpValueName,
DWORD Reserved,
[in] DWORD dwType,
[in] const BYTE *lpData,
[in] DWORD cbData
);
Parameter
[in] hKey
Ein Handle zu einem geöffneten Registrierungsschlüssel. Der Schlüssel muss mit dem KEY_SET_VALUE Zugriffsrecht geöffnet worden sein. Weitere Informationen finden Sie unter Registry Key Security and Access Rights.
Dieses Handle wird von der RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyExoder RegOpenKeyTransacted Funktion zurückgegeben. Es kann auch einer der folgenden vordefinierten Schlüsselsein:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
- HKEY_PERFORMANCE_TEXT
- HKEY_PERFORMANCE_NLSTEXT
[in, optional] lpValueName
Der Name des festzulegenden Werts. Wenn ein Wert mit diesem Namen noch nicht im Schlüssel vorhanden ist, fügt die Funktion ihn dem Schlüssel hinzu.
Wenn lpValueName-NULL- oder eine leere Zeichenfolge "" ist, legt die Funktion den Typ und die Daten für den unbenannten oder Standardwert des Schlüssels fest.
Weitere Informationen finden Sie unter Registrierungselementgrößenbeschränkungen.
Registrierungsschlüssel verfügen nicht über Standardwerte, aber sie können einen unbenannten Wert aufweisen, der beliebiger Typ sein kann.
Reserved
Dieser Parameter ist reserviert und muss null sein.
[in] dwType
Der Datentyp, auf den der lpData--Parameter verweist. Eine Liste der möglichen Typen finden Sie unter Registrierungswerttypen.
[in] lpData
Die zu speichernden Daten.
Bei zeichenfolgenbasierten Typen, z. B. REG_SZ, muss die Zeichenfolge NULL--terminated sein. Bei dem Datentyp REG_MULTI_SZ muss die Zeichenfolge mit zwei Nullzeichen beendet werden.
[in] cbData
Die Größe der Informationen, auf die durch den parameter lpData in Bytes verwiesen wird. Wenn die Daten vom Typ REG_SZ, REG_EXPAND_SZ oder REG_MULTI_SZ sind, muss cbData- die Größe des endierenden NULL- zeichens oder Zeichen enthalten.
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 FORMAT_MESSAGE_FROM_SYSTEM Flag verwenden, um eine allgemeine Beschreibung des Fehlers zu erhalten.
Bemerkungen
Wertgrößen sind durch den verfügbaren Arbeitsspeicher begrenzt. Das Speichern großer Werte in der Registrierung kann sich jedoch auf die Leistung auswirken. Lange Werte (mehr als 2.048 Bytes) sollten als Dateien gespeichert werden, wobei die Speicherorte der in der Registrierung gespeicherten Dateien enthalten sind.
Anwendungselemente wie Symbole, Bitmaps und ausführbare Dateien sollten als Dateien gespeichert und nicht in der Registrierung platziert werden.
Wenn dwType- die REG_SZ, REG_MULTI_SZ oder REG_EXPAND_SZ Typ ist und die ANSI-Version dieser Funktion verwendet wird (entweder durch explizites Aufrufen RegSetValueExA- oder durch Nichtdefinition von UNICODE vor dem Einschließen der Windows.h-Datei), müssen die daten, auf die vom parameter lpData verwiesen wird, eine ANSI-Zeichenzeichenfolge sein. Die Zeichenfolge wird in Unicode konvertiert, bevor sie in der Registrierung gespeichert wird.
Beachten Sie, dass Vorgänge, die auf bestimmte Registrierungsschlüssel zugreifen, umgeleitet werden. Weitere Informationen finden Sie unter Registry Virtualization und 32-Bit- und 64-Bit-Anwendungsdaten in der Registrierung.
Erwägen Sie die Verwendung der RegSetKeyValue--Funktion, die eine bequemere Möglichkeit zum Festlegen des Werts eines Registrierungsschlüssels bietet.
Anmerkung
Der winreg.h-Header definiert RegSetValueEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winreg.h (enthalten Windows.h) |
Library | Advapi32.lib |
DLL- | Advapi32.dll |