Fungsi DuplicateToken (securitybaseapi.h)
Fungsi DuplicateToken membuat token akses baru yang menduplikasi token yang sudah ada.
Sintaks
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
Parameter
[in] ExistingTokenHandle
Handel ke token akses yang dibuka dengan akses TOKEN_DUPLICATE.
[in] ImpersonationLevel
Menentukan jenis enumerasi SECURITY_IMPERSONATION_LEVEL yang memasok tingkat peniruan token baru.
[out] DuplicateTokenHandle
Penunjuk ke variabel yang menerima handel ke token duplikat. Handel ini memiliki akses TOKEN_IMPERSONATE dan TOKEN_QUERY ke token baru.
Setelah Anda selesai menggunakan token baru, panggil fungsi CloseHandle untuk menutup handel token.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Fungsi DuplicateToken membuat token peniruan, yang dapat Anda gunakan dalam fungsi seperti SetThreadToken dan ImpersonateLoggedOnUser. Token yang dibuat oleh DuplicateToken tidak dapat digunakan dalam fungsi CreateProcessAsUser , yang memerlukan token utama. Untuk membuat token yang dapat Anda teruskan ke CreateProcessAsUser, gunakan fungsi DuplicateTokenEx .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | securitybaseapi.h (termasuk Windows.h) |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |