Bagikan melalui


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

Lihat juga

CreateProcessAsUser

DestroyEnvironmentBlock

LogonUser

Gambaran Umum Profil Pengguna

Referensi Profil Pengguna