SHRegWriteUSValueA-Funktion (shlwapi.h)

Schreibt einen Wert in einen Registrierungsunterschlüssel in einer benutzerspezifischen Unterstruktur (HKEY_CURRENT_USER oder HKEY_LOCAL_MACHINE).

Syntax

LSTATUS SHRegWriteUSValueA(
  [in] HUSKEY     hUSKey,
  [in] LPCSTR     pszValue,
  [in] DWORD      dwType,
  [in] const void *pvData,
  [in] DWORD      cbData,
  [in] DWORD      dwFlags
);

Parameter

[in] hUSKey

Typ: HUSKEY

Ein Handle für einen derzeit geöffneten Registrierungsunterschlüssel. Der Unterschlüssel muss mit dem zugriffsrecht KEY_SET_VALUE geöffnet worden sein. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.

Dieses Handle kann über die SHRegOpenUSKey-Funktion abgerufen werden.

[in] pszValue

Typ: LPCTSTR

Ein Zeiger auf eine NULL-beendete Zeichenfolge, die den Namen des Werts angibt. Dieser Wert ist ein Eintrag in dem durch hUSKey angegebenen Unterschlüssel. Wenn ein Wert mit diesem Namen noch nicht im Unterschlüssel vorhanden ist, wird er hinzugefügt.

Wenn dieser Parameter NULL oder eine leere Zeichenfolge ist, legt die Funktion den Typ und die Daten für den Standardwert des Unterschlüssels fest.

[in] dwType

Art: DWORD

Der Typ der Daten, die in dem von pszValue angegebenen Wert gespeichert werden sollen. Einer der folgenden Registrierungswerttypen, die in Winnt.h und Wdm.h definiert sind.

REG_NONE (0x00000000)

REG_SZ (0x00000001)

REG_EXPAND_SZ (0x00000002)

REG_BINARY (0x00000003)

REG_DWORD (0x00000004)

REG_DWORD_LITTLE_ENDIAN (0x00000004)

REG_DWORD_BIG_ENDIAN (0x00000005)

REG_MULTI_SZ (0x00000007)

REG_RESOURCE_LIST (0x00000008)

REG_FULL_RESOURCE_DESCRIPTOR (0x00000009)

REG_RESOURCE_REQUIREMENTS_LIST (0x0000000A)

REG_QWORD (0x0000000B)

REG_QWORD_LITTLE_ENDIAN (0x0000000B)

[in] pvData

Typ: const void*

Ein Zeiger auf die Daten, die für den von pszValue angegebenen Wert festgelegt werden sollen. Für Zeichenfolgenbasierte Typen, z. B. REG_SZ, muss die Zeichenfolge null-beendet sein. Beim REG_MULTI_SZ Datentyp muss die Zeichenfolge mit zwei NULL-Zeichen beendet werden. Einem umgekehrten Schrägstrich in einem Pfad muss ein anderer umgekehrter Schrägstrich als Escapezeichen vorangestellt werden. Geben Sie beispielsweise "C:\mydir\myfile" an, um die Zeichenfolge "C:\mydir\myfile" zu speichern.

[in] cbData

Art: DWORD

Die Größe der Daten in Bytes, auf die der parameter pvData verweist. Wenn die Daten vom Typ REG_SZ, REG_EXPAND_SZ oder REG_MULTI_SZ sind, muss cbData die Größe des beendenden NULL-Zeichens enthalten.

[in] dwFlags

Art: DWORD

Flags, die die Unterstruktur angeben, in die die Daten geschrieben werden sollen. Mindestens einer der folgenden Werte:

SHREGSET_HKCU (0x00000001)

Schreiben Sie nur in HKEY_CURRENT_USER , wenn ein Wert des in pszValue angegebenen Namens derzeit nicht unter dem angegebenen Unterschlüssel vorhanden ist.

SHREGSET_FORCE_HKCU (0x00000002)

Schreiben Sie in HKEY_CURRENT_USER. Wenn ein Wert des in pszValue angegebenen Namens bereits vorhanden ist, wird er überschrieben.

SHREGSET_HKLM (0x00000004)

Schreiben Sie nur in HKEY_LOCAL_MACHINE , wenn ein Wert des in pszValue angegebenen Namens derzeit nicht unter dem angegebenen Unterschlüssel vorhanden ist.

SHREGSET_FORCE_HKLM (0x00000008)

Schreiben Sie in HKEY_LOCAL_MACHINE. Wenn ein Wert des in pszValue angegebenen Namens bereits vorhanden ist, wird er überschrieben.

SHREGSET_DEFAULT (0x00000006)

Entspricht (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Rückgabewert

Typ: LSTATUS

Gibt bei erfolgreicher Ausführung ERROR_SUCCESS zurück. andernfalls 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.

Hinweise

Um SHRegWriteUSValue zu verwenden, müssen Sie zuerst den Schlüssel mit SHRegOpenUSKey öffnen. Sobald der Schlüssel geöffnet wurde, können Sie SHRegWriteUSValue so oft wie nötig verwenden.

Wenn Sie nur einen einzelnen Wert schreiben müssen, sollten Sie SHRegSetUSValue verwenden, das sowohl den Schlüssel öffnet als auch den Wert schreibt.

Wenn Sie mehr als einen Wert auf denselben Schlüssel schreiben müssen, sind mehrere Aufrufe von SHRegWriteUSValue in der Regel effizienter als SHRegSetUSValue, da der Schlüssel nur einmal geöffnet wird.

Hinweis

Der shlwapi.h-Header definiert SHRegWriteUSValue als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
Bibliothek Shlwapi.lib
DLL Shlwapi.dll (Version 4.71 oder höher)

Weitere Informationen

Registrierungswerttypen