Fungsi CreateEnvironmentBlock (userenv.h)
Mengambil variabel lingkungan untuk pengguna yang ditentukan. Blok ini kemudian dapat diteruskan ke fungsi CreateProcessAsUser .
Sintaks
BOOL CreateEnvironmentBlock(
[out] LPVOID *lpEnvironment,
[in, optional] HANDLE hToken,
[in] BOOL bInherit
);
Parameter
[out] lpEnvironment
Jenis: LPVOID*
Ketika fungsi ini kembali, menerima penunjuk ke blok lingkungan baru. Blok lingkungan adalah array string Unicode yang dihentikan null. Daftar berakhir dengan dua null (\0\0).
[in, optional] hToken
Jenis: HANDEL
Token untuk pengguna, dikembalikan dari fungsi LogonUser . Jika ini adalah token utama, token harus memiliki akses TOKEN_QUERY dan TOKEN_DUPLICATE . Jika token adalah token peniruan, token tersebut harus memiliki akses TOKEN_QUERY . Untuk informasi selengkapnya, lihat Hak Akses untuk Objek Access-Token.
Jika parameter ini NULL, blok lingkungan yang dikembalikan hanya berisi variabel sistem.
[in] bInherit
Jenis: BOOL
Menentukan apakah akan mewarisi dari lingkungan proses saat ini. Jika nilai ini TRUE, proses akan mewarisi lingkungan proses saat ini. Jika nilai ini FALSE, prosesnya tidak mewarisi lingkungan proses saat ini.
Menampilkan nilai
Jenis: BOOL
TRUE jika berhasil; jika tidak, FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Untuk membebaskan buffer ketika Anda telah selesai dengan blok lingkungan, panggil fungsi DestroyEnvironmentBlock .
Jika blok lingkungan diteruskan ke CreateProcessAsUser, Anda juga harus menentukan bendera CREATE_UNICODE_ENVIRONMENT . Setelah CreateProcessAsUser kembali, proses baru memiliki salinan blok lingkungan, dan DestroyEnvironmentBlock dapat dipanggil dengan aman.
Variabel lingkungan khusus pengguna seperti %USERPROFILE% hanya diatur saat profil pengguna dimuat. Untuk memuat profil pengguna, panggil fungsi LoadUserProfile .
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | userenv.h |
Pustaka | Userenv.lib |
DLL | Userenv.dll |