OpenProcessToken 함수(processthreadsapi.h)
OpenProcessToken 함수는 프로세스와 연결된 액세스 토큰을 엽니다.
구문
BOOL OpenProcessToken(
[in] HANDLE ProcessHandle,
[in] DWORD DesiredAccess,
[out] PHANDLE TokenHandle
);
매개 변수
[in] ProcessHandle
액세스 토큰이 열리는 프로세스에 대한 핸들입니다. 프로세스에는 PROCESS_QUERY_LIMITED_INFORMATION 액세스 권한이 있어야 합니다. 자세한 내용은 프로세스 보안 및 액세스 권한을 참조하세요.
[in] DesiredAccess
액세스 토큰에 대한 요청된 액세스 유형을 지정하는 액세스 마스크 를 지정합니다. 이러한 요청된 액세스 유형은 토큰의 DACL( 임의 액세스 제어 목록 )과 비교하여 어떤 액세스가 부여되거나 거부되는지 확인합니다.
액세스 토큰에 대한 액세스 권한 목록은 Access-Token 개체에 대한 액세스 권한을 참조하세요.
[out] TokenHandle
함수가 반환될 때 새로 열린 액세스 토큰을 식별하는 핸들에 대한 포인터입니다.
반환 값
함수가 성공하면 반환 값이 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
관리자 권한 없는 프로세스 내에서 관리자 권한 프로세스에 대한 핸들을 얻으려면 두 프로세스를 동일한 계정에서 시작해야 합니다.
검사 중인 프로세스가 다른 계정에서 시작된 경우 검사 프로세스에서 SE_DEBUG_NAME 권한을 사용하도록 설정해야 합니다. 자세한 내용은 권한 상수(권한 부여) 를 참조하세요.
TokenHandle 매개 변수를 통해 반환된 액세스 토큰 핸들을 닫려면 CloseHandle을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | processthreadsapi.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |