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 di 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 con terminazione 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 devono includere le dimensioni del carattere o dei caratteri Null di terminazione.

[in] dwFlags

Tipo: DWORD

Flag che indicano il sottoalbero in 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 esiste già, 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 esiste già, 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.

Osservazioni

Per usare SHRegWriteUSValue, è prima necessario aprire la chiave con SHRegOpenUSKey. Una volta aperta la chiave, è possibile usare SHRegWriteUSValue quante volte necessario.

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

Se è necessario scrivere più valori sulla 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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 Finestre
intestazione shlwapi.h
libreria Shlwapi.lib
dll Shlwapi.dll (versione 4.71 o successiva)

Vedere anche

tipi di valore del Registro di sistema