Bagikan melalui


Fungsi LoadUserProfileA (userenv.h)

Memuat profil pengguna yang ditentukan. Profil dapat berupa profil pengguna lokal atau profil pengguna roaming.

Sintaks

USERENVAPI BOOL LoadUserProfileA(
  [in]      HANDLE         hToken,
  [in, out] LPPROFILEINFOA lpProfileInfo
);

Parameter

[in] hToken

Jenis: HANDEL

Token untuk pengguna, yang dikembalikan oleh fungsi LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken, atau OpenThreadToken . Token harus memiliki akses TOKEN_QUERY, TOKEN_IMPERSONATE, dan TOKEN_DUPLICATE . Untuk informasi selengkapnya, lihat Hak Akses untuk Objek Access-Token.

[in, out] lpProfileInfo

Jenis: LPPROFILEINFO

Penunjuk ke struktur PROFILEINFO . LoadUserProfile gagal dan mengembalikan ERROR_INVALID_PARAMETER jika anggota struktur dwSize tidak diatur ke sizeof(PROFILEINFO) atau jika anggota lpUserName adalah NULL. Untuk informasi selengkapnya, lihat Keterangan.

Menampilkan nilai

Jenis: BOOL

TRUE jika berhasil; jika tidak, FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Fungsi gagal dan mengembalikan ERROR_INVALID_PARAMETER jika anggota dwSize struktur di lpProfileInfo tidak diatur ke sizeof(PROFILEINFO) atau jika anggota lpUserName adalah NULL.

Keterangan

Saat pengguna masuk secara interaktif, sistem secara otomatis memuat profil pengguna. Jika layanan atau aplikasi meniru pengguna, sistem tidak memuat profil pengguna. Oleh karena itu, layanan atau aplikasi harus memuat profil pengguna dengan LoadUserProfile.

Layanan dan aplikasi yang memanggil LoadUserProfile harus memeriksa untuk melihat apakah pengguna memiliki profil roaming. Jika pengguna memiliki profil roaming, tentukan jalurnya sebagai anggota lpProfilePath dari PROFILEINFO. Untuk mengambil jalur profil roaming pengguna, Anda dapat memanggil fungsi NetUserGetInfo , menentukan informasi tingkat 3 atau 4.

Setelah berhasil kembali, anggota hProfilePROFILEINFO adalah handel kunci registri yang dibuka ke akar sarang pengguna. Ini telah dibuka dengan akses penuh (KEY_ALL_ACCESS). Jika layanan yang meniru pengguna perlu membaca atau menulis ke file registri pengguna, gunakan handel ini alih-alih HKEY_CURRENT_USER. Jangan tutup handel hProfile . Sebagai gantinya, teruskan ke fungsi UnloadUserProfile . Fungsi ini menutup handel. Anda harus memastikan bahwa semua handel ke kunci di sarang registri pengguna ditutup. Jika Anda tidak menutup semua handel registri yang terbuka, profil pengguna gagal dibongkar. Untuk informasi selengkapnya, lihat Keamanan Kunci Registri dan Hak Akses dan Registri Hives.

Perhatikan bahwa Anda bertanggung jawab untuk memuat sarang registri pengguna ke kunci registri HKEY_USERS dengan fungsi LoadUserProfile sebelum Anda memanggil CreateProcessAsUser. Ini karena CreateProcessAsUser tidak memuat profil pengguna yang ditentukan ke dalam HKEY_USERS. Ini berarti bahwa akses ke informasi dalam kunci registri HKEY_CURRENT_USER mungkin tidak menghasilkan hasil yang konsisten dengan masuk interaktif normal.

Proses panggilan harus memiliki hak istimewa SE_RESTORE_NAME dan SE_BACKUP_NAME . Untuk informasi selengkapnya, lihat Menjalankan dengan Hak Istimewa.

Dimulai dengan Windows XP Service Pack 2 (SP2) dan Windows Server 2003, pemanggil harus menjadi administrator atau akun LocalSystem. Pemanggil tidak cukup untuk hanya meniru administrator atau akun LocalSystem.

Catatan

Header userenv.h mendefinisikan LoadUserProfile sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

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

PROFILEINFO

UnloadUserProfile

Gambaran Umum Profil Pengguna

Referensi Profil Pengguna