DuplicateToken 함수(securitybaseapi.h)
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 함수를 호출하여 토큰 핸들을 닫습니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 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 |