Securitybaseapi.h (DuplicateToken 函式)
DuplicateToken 函式會建立新的存取令牌,以複製已經存在的存取令牌。
語法
BOOL DuplicateToken(
[in] HANDLE ExistingTokenHandle,
[in] SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
[out] PHANDLE DuplicateTokenHandle
);
參數
[in] ExistingTokenHandle
使用TOKEN_DUPLICATE存取開啟之存取令牌的句柄。
[in] ImpersonationLevel
指定提供新令牌模擬層級 的SECURITY_IMPERSONATION_LEVEL 列舉型別。
[out] DuplicateTokenHandle
接收重複令牌句柄之變數的指標。 此句柄具有TOKEN_IMPERSONATE,並TOKEN_QUERY新令牌的存取權。
當您完成使用新的令牌時,請呼叫 CloseHandle 函式以關閉令牌句柄。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
DuplicateToken 函式會建立模擬令牌,您可以在 SetThreadToken 和 ImpersonateLoggedOnUser 等函式中使用。 DuplicateToken 所建立的令牌不能用在 CreateProcessAsUser 函式中,這需要主要令牌。 若要建立您可以傳遞至 CreateProcessAsUser 的令牌,請使用 DuplicateTokenEx 函 式。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | securitybaseapi.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |