Funzione RegSetValueExA (winreg.h)
Imposta i dati e il tipo di un valore specificato in una chiave del Registro di sistema.
Sintassi
LSTATUS RegSetValueExA(
[in] HKEY hKey,
[in, optional] LPCSTR lpValueName,
DWORD Reserved,
[in] DWORD dwType,
[in] const BYTE *lpData,
[in] DWORD cbData
);
Parametri
[in] hKey
Handle per una chiave del Registro di sistema aperta. La chiave deve essere stata aperta con il diritto di accesso KEY_SET_VALUE. Per altre informazioni, vedere Sicurezza e diritti di accesso delle chiavi del Registro di sistema.
Questo handle viene restituito dalla funzione RegCreateKeyEx, RegCreateKeyTransacted, RegOpenKeyEx o RegOpenKeyTransacted . Può anche essere una delle chiavi predefinite seguenti:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_USERS
- HKEY_PERFORMANCE_TEXT
- HKEY_PERFORMANCE_NLSTEXT
[in, optional] lpValueName
Nome del valore da impostare. Se un valore con questo nome non è già presente nella chiave, la funzione lo aggiunge alla chiave.
Se lpValueName è NULL o una stringa vuota, "", la funzione imposta il tipo e i dati per il valore predefinito o senza nome della chiave.
Per altre informazioni, vedere Limiti delle dimensioni degli elementi del Registro di sistema.
Le chiavi del Registro di sistema non hanno valori predefiniti, ma possono avere un valore senza nome, che può essere di qualsiasi tipo.
Reserved
Questo parametro è riservato e deve essere zero.
[in] dwType
Tipo di dati a cui punta il parametro lpData . Per un elenco dei tipi possibili, vedere Tipi di valore del Registro di sistema.
[in] lpData
Dati da archiviare.
Per i tipi basati su stringhe, ad esempio REG_SZ, la stringa deve essere con terminazione Null. Con il tipo di dati REG_MULTI_SZ, la stringa deve essere terminata con due caratteri Null .
[in] cbData
Dimensioni delle informazioni a cui punta il parametro lpData , in byte. 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 di terminazione.
Valore restituito
Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero definito in Winerror.h. È possibile usare la funzione FormatMessage con il flag FORMAT_MESSAGE_FROM_SYSTEM per ottenere una descrizione generica dell'errore.
Commenti
Le dimensioni dei valori sono limitate dalla memoria disponibile. Tuttavia, l'archiviazione di valori di grandi dimensioni nel Registro di sistema può influire sulle prestazioni. I valori lunghi (più di 2.048 byte) devono essere archiviati come file, con i percorsi dei file archiviati nel Registro di sistema.
Gli elementi dell'applicazione, ad esempio icone, bitmap e file eseguibili, devono essere archiviati come file e non devono essere inseriti nel Registro di sistema.
Se dwType è il tipo REG_SZ, REG_MULTI_SZ o REG_EXPAND_SZ e viene usata la versione ANSI di questa funzione (chiamando in modo esplicito RegSetValueExA o non definendo UNICODE prima di includere il file Windows.h), i dati a cui punta il parametro lpData devono essere una stringa di caratteri ANSI. La stringa viene convertita in Unicode prima che venga archiviata nel Registro di sistema.
Si noti che le operazioni che accedono a determinate chiavi del Registro di sistema vengono reindirizzate. Per altre informazioni, vedere Virtualizzazione del Registro di sistema e dati delle applicazioni a 32 bit e a 64 bit nel Registro di sistema.
È consigliabile usare la funzione RegSetKeyValue , che offre un modo più pratico per impostare il valore di una chiave del Registro di sistema.
Nota
L'intestazione winreg.h definisce RegSetValueEx come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winreg.h (include Windows.h) |
Libreria | Advapi32.lib |
DLL | Advapi32.dll |