Condividi tramite


Funzione SHRegWriteUSValueA (shlwapi.h)

Scrive un valore in una sottochiave del Registro di sistema in un sottoalbero specifico dell'utente (HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE).

Sintassi

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

Parametri

[in] hUSKey

Tipo: HUSKEY

Handle per una sottochiave del Registro di sistema attualmente aperta. La sottochiave deve essere stata aperta con il diritto di accesso KEY_SET_VALUE. Per altre informazioni, vedere Sicurezza delle chiavi del Registro di sistema e diritti di accesso.

Questo handle può essere ottenuto tramite la funzione SHRegOpenUSKey .

[in] pszValue

Tipo: LPCTSTR

Puntatore a una stringa con terminazione null che specifica il nome del valore. Questo valore è una voce nella sottochiave specificata da hUSKey. Se un valore con questo nome non è già presente nella sottochiave, verrà aggiunto.

Se questo parametro è NULL o una stringa vuota, la funzione imposta il tipo e i dati per il valore predefinito della sottochiave.

[in] dwType

Tipo: DWORD

Tipo dei dati da archiviare nel valore specificato da pszValue. Uno dei tipi di valore del Registro di sistema seguenti definiti in Winnt.h e Wdm.h.

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

Tipo: const void*

Puntatore ai dati da impostare per il valore specificato da pszValue. Per i tipi basati su stringhe, ad esempio REG_SZ, la stringa deve essere terminata con null. Con il tipo di dati REG_MULTI_SZ, la stringa deve essere terminata con due caratteri Null. Una barra rovesciata in un percorso deve essere preceduta da un'altra barra rovesciata come carattere di escape. Ad esempio, specificare "C:\mydir\myfile" per archiviare la stringa "C:\mydir\myfile".

[in] cbData

Tipo: DWORD

Dimensioni, in byte, dei dati a cui punta il parametro pvData . Se i dati sono di tipo REG_SZ, REG_EXPAND_SZ o REG_MULTI_SZ, cbData deve includere le dimensioni del carattere o dei caratteri null terminanti.

[in] dwFlags

Tipo: DWORD

Flag che indicano il sottoalbero a cui devono essere scritti i dati. Uno o più dei valori seguenti:

SHREGSET_HKCU (0x00000001)

Scrivere in HKEY_CURRENT_USER solo se un valore del nome specificato in pszValue non esiste attualmente nella sottochiave specificata.

SHREGSET_FORCE_HKCU (0x00000002)

Scrivere in HKEY_CURRENT_USER. Se esiste già un valore del nome specificato in pszValue , verrà sovrascritto.

SHREGSET_HKLM (0x00000004)

Scrivere in HKEY_LOCAL_MACHINE solo se un valore del nome specificato in pszValue non esiste attualmente nella sottochiave specificata.

SHREGSET_FORCE_HKLM (0x00000008)

Scrivere in HKEY_LOCAL_MACHINE. Se esiste già un valore del nome specificato in pszValue , verrà sovrascritto.

SHREGSET_DEFAULT (0x00000006)

Equivalente a (SHREGSET_FORCE_HKCU SHREGSET_HKLM | ).

Valore restituito

Tipo: LSTATUS

Restituisce ERROR_SUCCESS se ha esito positivo; in caso contrario, un codice di errore diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per recuperare una descrizione generica dell'errore.

Commenti

Per usare SHRegWriteUSValue, è prima necessario aprire la chiave con SHRegOpenUSKey. Dopo aver aperto la chiave, è possibile usare SHRegWriteUSValue quante volte necessario.

Se è necessario scrivere un singolo valore, è consigliabile usare SHRegSetUSValue, che apre la chiave e scrive il valore.

Se è necessario scrivere più di un valore nella stessa chiave, più chiamate a SHRegWriteUSValue sono in genere più efficienti di SHRegSetUSValue, perché la chiave viene aperta una sola volta.

Nota

L'intestazione shlwapi.h definisce SHRegWriteUSValue come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 4.71 o successiva)

Vedi anche

Tipi di valore del Registro di sistema