Freigeben über


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 zu einem aktuell geöffneten Registrierungsunterschlüssel. Der Unterschlü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 kann über die SHRegOpenUSKey--Funktion abgerufen werden.

[in] pszValue

Typ: LPCTSTR-

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen des Werts angibt. Dieser Wert ist ein Eintrag im unterschlüssel, der durch hUSKeyangegeben wird. 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

Typ: DWORD-

Der Typ der Daten, die im durch pszValueangegebenen 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 durch pszValueangegebenen Wert festgelegt werden sollen. Bei zeichenfolgenbasierten Typen, z. B. REG_SZ, muss die Zeichenfolge null-terminated sein. Mit dem Datentyp REG_MULTI_SZ muss die Zeichenfolge mit zwei Nullzeichen 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

Typ: DWORD-

Die Größe der Daten in Byte, auf die der pvData-Parameter verweist. 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.

[in] dwFlags

Typ: DWORD-

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

SHREGSET_HKCU (0x00000001)

Schreibzugriff auf HKEY_CURRENT_USER nur, wenn unter dem angegebenen Unterschlüssel derzeit kein Wert des in pszValue angegebenen Namen vorhanden ist.

SHREGSET_FORCE_HKCU (0x00000002)

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

SHREGSET_HKLM (0x00000004)

Schreibzugriff auf HKEY_LOCAL_MACHINE nur, wenn unter dem angegebenen Unterschlüssel kein Wert des in pszValue angegebenen Namen vorhanden ist.

SHREGSET_FORCE_HKLM (0x00000008)

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

SHREGSET_DEFAULT (0x00000006)

Entspricht (SHREGSET_FORCE_HKCU | SHREGSET_HKLM).

Rückgabewert

Typ: LSTATUS-

Gibt ERROR_SUCCESS zurück, wenn dies erfolgreich ist; andernfalls 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 generische Beschreibung des Fehlers abzurufen.

Bemerkungen

Um SHRegWriteUSValuezu verwenden, müssen Sie zuerst den Schlüssel mit SHRegOpenUSKeyöffnen. Nachdem 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 SHRegSetUSValueverwenden, der den Schlüssel öffnet und den Wert schreibt.

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

Anmerkung

Der Header "shlwapi.h" definiert SHRegWriteUSValue 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, Windows XP [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- shlwapi.h
Library Shlwapi.lib
DLL- Shlwapi.dll (Version 4.71 oder höher)

Siehe auch

Registrierungswerttypen