Funzione ExpandEnvironmentStringsA (processenv.h)

Espande le stringhe delle 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 quando si cerca il 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,length%.

[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 è possibile archiviare nel buffer a cui punta il parametro lpDst . Quando si usano stringhe ANSI, le dimensioni del buffer devono essere la lunghezza della stringa, oltre a un 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 informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

Le dimensioni dei buffer lpSrc e lpDst sono limitate a 32K.

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 di variabili di ambiente per un processo, usare la funzione GetEnvironmentStrings .

Esempio

Per un esempio, vedere Recupero delle informazioni di sistema.

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 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 [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processenv.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Variabili di ambiente

Funzioni di informazioni di sistema