Condividi tramite


Funzione ExpandEnvironmentStringsA (processenv.h)

Espande le stringhe di variabili di ambiente e le sostituisce con i valori definiti per l'utente corrente.

Per specificare il blocco di ambiente per un determinato utente o il sistema, usare la funzione ExpandEnvironmentStringsForUser.

Sintassi

DWORD ExpandEnvironmentStringsA(
  [in]            LPCSTR lpSrc,
  [out, optional] LPSTR  lpDst,
  [in]            DWORD  nSize
);

Parametri

[in] lpSrc

Buffer che contiene una o più stringhe di variabili di ambiente nel formato: %variableName%. Per ogni riferimento di questo tipo, la parte %variableName% viene sostituita con il valore corrente della variabile di ambiente.

Il case viene ignorato durante la ricerca del nome della variabile di ambiente. Se il nome non viene trovato, la parte %variableName% viene lasciata non espansa.

Si noti che questa funzione non supporta tutte le funzionalità supportate Cmd.exe. Ad esempio, non supporta %variableName:str1=str2% o %variableName:~offset,lunghezza%.

[out, optional] lpDst

Puntatore a un buffer che riceve il risultato dell'espansione delle stringhe delle variabili di ambiente nel buffer lpSrc . Si noti che questo buffer non può essere uguale al buffer lpSrc.

[in] nSize

Numero massimo di caratteri che possono essere archiviati nel buffer a cui punta il parametro lpDst. Quando si usano stringhe ANSI, la dimensione del buffer deve essere la lunghezza della stringa, più il carattere null di terminazione, più uno. Quando si usano stringhe Unicode, le dimensioni del buffer devono essere la lunghezza della stringa più il carattere Null di terminazione.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è il numero di TCHAR archiviati nel buffer di destinazione, incluso il carattere Null di terminazione. Se il buffer di destinazione è troppo piccolo per contenere la stringa espansa, il valore restituito è la dimensione del buffer necessaria, in caratteri.

Se la funzione ha esito negativo, il valore restituito è zero. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Windows Server 2003 e Windows XP: Le dimensioni del lpSrc e buffer lpDst sono limitate a 32 K.

Per sostituire i nomi delle cartelle in un percorso completo con le stringhe di variabili di ambiente associate, usare la funzione PathUnExpandEnvStrings.

Per recuperare l'elenco delle variabili di ambiente per un processo, usare la funzione getEnvironmentStrings .

Esempi

Per un esempio, vedere Getting System Information.

Nota

L'intestazione processenv.h definisce ExpandEnvironmentStrings 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 [app desktop | App UWP]
server minimo supportato Windows 2000 Server [app desktop | App UWP]
piattaforma di destinazione Finestre
intestazione processenv.h (include Windows.h)
libreria Kernel32.lib
dll Kernel32.dll

Vedere anche

ambiente Variabili

funzioni di informazioni di sistema