ExpandEnvironmentStringsA-Funktion (processenv.h)
Erweitert umgebungsvariable Zeichenfolgen und ersetzt sie durch die werte, die für den aktuellen Benutzer definiert sind.
Um den Umgebungsblock für einen bestimmten Benutzer oder das System anzugeben, verwenden Sie die ExpandEnvironmentStringsForUser--Funktion.
Syntax
DWORD ExpandEnvironmentStringsA(
[in] LPCSTR lpSrc,
[out, optional] LPSTR lpDst,
[in] DWORD nSize
);
Parameter
[in] lpSrc
Ein Puffer, der eine oder mehrere Umgebungsvariablenzeichenfolgen in der Form enthält: %variableName%. Für jeden solchen Verweis wird der %variableName% Teil durch den aktuellen Wert dieser Umgebungsvariable ersetzt.
Der Fall wird ignoriert, wenn sie den Namen der Umgebungsvariablen nachschlagen. Wenn der Name nicht gefunden wird, bleibt der %variableName% Teil nicht erweitert.
Beachten Sie, dass diese Funktion nicht alle Features unterstützt, die Cmd.exe unterstützt. Beispielsweise wird %variableName-nicht unterstützt:str1=str2% oder %variableName:~offset,Länge%.
[out, optional] lpDst
Ein Zeiger auf einen Puffer, der das Ergebnis der Erweiterung der Umgebungsvariablenzeichenfolgen im lpSrc Puffer empfängt. Beachten Sie, dass dieser Puffer nicht mit dem lpSrc Puffer identisch sein kann.
[in] nSize
Die maximale Anzahl von Zeichen, die im Puffer gespeichert werden können, auf die durch den lpDst Parameter verwiesen werden kann. Bei Verwendung von ANSI-Zeichenfolgen sollte die Puffergröße die Zeichenfolgenlänge und das Beenden von NULL-Zeichen plus eins sein. Bei Verwendung von Unicode-Zeichenfolgen sollte die Puffergröße die Zeichenfolgenlänge plus das endende NULL-Zeichen sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl TCHARs im Zielpuffer gespeichert, einschließlich des endenden Nullzeichens. Wenn der Zielpuffer zu klein ist, um die erweiterte Zeichenfolge zu halten, ist der Rückgabewert die erforderliche Puffergröße in Zeichen.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Windows Server 2003 und Windows XP: Die Größe der lpSrc und lpDst Puffer ist auf 32 KB beschränkt.
Verwenden Sie die PathUnExpandEnvStrings--Funktion, um Ordnernamen in einem vollqualifizierten Pfad durch die zugeordneten Umgebungsvariablenzeichenfolgen zu ersetzen.
Um die Liste der Umgebungsvariablen für einen Prozess abzurufen, verwenden Sie die GetEnvironmentStrings--Funktion.
Beispiele
Ein Beispiel finden Sie unter Abrufen von Systeminformationen.
Anmerkung
Der processenv.h-Header definiert ExpandEnvironmentStrings als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | processenv.h (include Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |