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

Lihat juga

Ringkasan Access Control

Fungsi Access Control Dasar

CreateProcessAsUser

DuplikatTokenEx

ImpersonateLoggedOnUser

SECURITY_IMPERSONATION_LEVEL

SetThreadToken