CreateEnvironmentBlock-Funktion (userenv.h)
Ruft die Umgebungsvariablen für den angegebenen Benutzer ab. Dieser Block kann dann an die CreateProcessAsUser-Funktion übergeben werden.
Syntax
BOOL CreateEnvironmentBlock(
[out] LPVOID *lpEnvironment,
[in, optional] HANDLE hToken,
[in] BOOL bInherit
);
Parameter
[out] lpEnvironment
Typ: LPVOID*
Wenn diese Funktion zurückgibt, empfängt einen Zeiger auf den neuen Umgebungsblock. Der Umgebungsblock ist ein Array von Unicode-Zeichenfolgen, die null enden. Die Liste endet mit zwei NULL-Werten (\0\0).
[in, optional] hToken
Typ: HANDLE
Token für den Benutzer, das von der LogonUser-Funktion zurückgegeben wird. Wenn es sich um ein primäres Token handelt, muss das Token über TOKEN_QUERY und TOKEN_DUPLICATE Zugriff verfügen. Wenn das Token ein Identitätswechseltoken ist, muss es über TOKEN_QUERY Zugriff verfügen. Weitere Informationen finden Sie unter Zugriffsrechte für Access-Token-Objekte.
Wenn dieser Parameter NULL ist, enthält der zurückgegebene Umgebungsblock nur Systemvariablen.
[in] bInherit
Typ: BOOL
Gibt an, ob von der Umgebung des aktuellen Prozesses geerbt werden soll. Wenn dieser Wert TRUE ist, erbt der Prozess die Umgebung des aktuellen Prozesses. Wenn dieser Wert FALSE ist, erbt der Prozess nicht die Umgebung des aktuellen Prozesses.
Rückgabewert
Typ: BOOL
TRUE , wenn erfolgreich; andernfalls FALSE. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Um den Puffer frei zu geben, wenn Sie mit dem Umgebungsblock fertig sind, rufen Sie die DestroyEnvironmentBlock-Funktion auf.
Wenn der Umgebungsblock an CreateProcessAsUser übergeben wird, müssen Sie auch das flag CREATE_UNICODE_ENVIRONMENT angeben. Nachdem CreateProcessAsUser zurückgegeben wurde, verfügt der neue Prozess über eine Kopie des Umgebungsblocks, und DestroyEnvironmentBlock kann sicher aufgerufen werden.
Benutzerspezifische Umgebungsvariablen wie %USERPROFILE% werden nur festgelegt, wenn das Profil des Benutzers geladen wird. Um das Profil eines Benutzers zu laden, rufen Sie die LoadUserProfile-Funktion auf.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | userenv.h |
Bibliothek | Userenv.lib |
DLL | Userenv.dll |