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

추가 정보

Access Control

기본 Access Control 함수

AccessCheck

AdjustTokenGroups

AdjustTokenPrivileges

CloseHandle

GetCurrentProcessToken

GetCurrentThreadEffectiveToken

GetCurrentThreadToken

GetTokenInformation

OpenThreadToken

SetTokenInformation