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_LINK (0x00000006)
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) |