Fungsi LogonUserExA (winbase.h)
Fungsi LogonUserEx mencoba masuk pengguna ke komputer lokal. Komputer lokal adalah komputer tempat LogonUserEx dipanggil. Anda tidak dapat menggunakan LogonUserEx
Sintaksis
BOOL LogonUserExA(
[in] LPCSTR lpszUsername,
[in, optional] LPCSTR lpszDomain,
[in, optional] LPCSTR lpszPassword,
[in] DWORD dwLogonType,
[in] DWORD dwLogonProvider,
[out, optional] PHANDLE phToken,
[out, optional] PSID *ppLogonSid,
[out, optional] PVOID *ppProfileBuffer,
[out, optional] LPDWORD pdwProfileLength,
[out, optional] PQUOTA_LIMITS pQuotaLimits
);
Parameter
[in] lpszUsername
Penunjuk ke string null-terminated yang menentukan nama pengguna. Ini adalah nama akun pengguna untuk masuk. Jika Anda menggunakan format nama prinsipal pengguna (UPN)
[in, optional] lpszDomain
Penunjuk ke string yang dihentikan null yang menentukan nama domain atau server yang database akunnya berisi akun
[in, optional] lpszPassword
Penunjuk ke string null-terminated yang menentukan kata sandi teks biasa untuk akun pengguna yang ditentukan oleh lpszUsername. Setelah Anda selesai menggunakan kata sandi, hapus kata sandi dari memori dengan memanggil fungsi
[in] dwLogonType
Jenis operasi masuk yang akan dilakukan. Parameter ini bisa menjadi salah satu nilai berikut.
[in] dwLogonProvider
Penyedia log masuk. Parameter ini bisa menjadi salah satu nilai berikut.
[out, optional] phToken
Penunjuk ke variabel handle yang menerima handel ke token yang mewakili pengguna yang ditentukan.
Anda dapat menggunakan handel yang dikembalikan dalam panggilan ke fungsi
Dalam kebanyakan kasus, handel yang dikembalikan adalah token utama
Ketika Anda tidak lagi memerlukan handel ini, tutup dengan memanggil fungsi
[out, optional] ppLogonSid
Penunjuk ke penunjuk ke pengidentifikasi keamanan (SID)
Setelah Anda selesai menggunakan SID, bebaskan dengan memanggil fungsi LocalFree.
[out, optional] ppProfileBuffer
Penunjuk ke penunjuk yang menerima alamat buffer yang berisi profil pengguna yang masuk.
[out, optional] pdwProfileLength
Pointer ke DWORD
[out, optional] pQuotaLimits
Penunjuk ke struktur QUOTA_LIMITS yang menerima informasi tentang kuota untuk pengguna yang masuk.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan nonzero.
Jika fungsi gagal, fungsi akan mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Jenis masuk LOGON32_LOGON_NETWORK tercepat, tetapi memiliki batasan berikut:
- Fungsi mengembalikan token peniruan , bukan token utama. Anda tidak dapat menggunakan token ini secara langsung di fungsi
CreateProcessAsUser. Namun, Anda dapat memanggil fungsi DuplicateTokenEx untuk mengonversi token ke token utama, lalu menggunakannya di CreateProcessAsUser . - Jika Anda mengonversi token ke token utama dan menggunakannya di CreateProcessAsUser untuk memulai proses, proses baru tidak dapat mengakses sumber daya jaringan lain, seperti server atau printer jarak jauh, melalui pengalihan. Pengecualiannya adalah bahwa jika sumber daya jaringan tidak dikontrol, maka proses baru akan dapat mengaksesnya.
Hak istimewa SE_TCB_NAME tidak diperlukan untuk fungsi ini kecuali Anda masuk ke akun Paspor.
Akun yang ditentukan oleh lpszUsername harus memiliki hak akun yang diperlukan. Misalnya, untuk masuk ke pengguna dengan bendera LOGON32_LOGON_INTERACTIVE, pengguna (atau grup tempat pengguna berada) harus memiliki hak akun SE_INTERACTIVE_LOGON_NAME. Untuk daftar hak akun yang memengaruhi berbagai operasi masuk, lihat Hak Akses Objek Akun.
Pengguna dianggap masuk jika setidaknya ada satu token. Jika Anda memanggil
Jika panggilan LogonUserEx
Nota
Header winbase.h mendefinisikan LogonUserEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur 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
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
server minimum yang didukung |
Windows Server 2003 [hanya aplikasi desktop] |
Platform Target |
Windows |
Header |
winbase.h (termasuk Windows.h) |
Pustaka |
Advapi32.lib |
DLL |
Advapi32.dll |
Lihat juga
Kontrol Akses Klien/Server
Fungsi Kontrol Akses Klien/Server