1. OpenProcessToken
- 프로세스와 관련된 토큰(핸들) 열기.
BOOL WINAPI OpenProcessToken
(
HANDLE ProcessHandle, // 프로세스에 대한 핸들
DWORD DesiredAccess, // 프로세스에 접근 유형 설정(엑세스 마스크 지정)
PHANDLE TokenHandle // 가져오는 토큰에 대한 핸들 포인터
);
ex)
...
HANDLE hToken;
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
...
2. LookupPrivilegeValue
- 지정된 시스템에서 사용 된 로컬 고유 식별자 (LUID)를 검색하여 지정된 권한 이름을 로컬로 표시.
BOOL WINAPI LookupPrivilegeValue
(
LPCTSTR lpSystemName, // 시스템의 이름을 지정하는 NULL 로 끝나는 문자열, NULL 일 경우 로컬컴퓨터를 지정.
LPCTSTR lpName, // Winnt.h 에 정의된대로 권한의 이름을 지정하는 NULL 로 끝나는 문자열의 포인터,
// (예를 들어 상수로 SE_SECURITY_NAME 또는 "SeSecurityPrivilege" 를 지정)
PLUID lpLuid // 첫번째 매개변수로 지정된 시스템에서 Privilege 로 지정된 LUID 를 가져오는 포인터
);
ex)
...
PLUID pLuid;
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME, pLuid); ... tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
'개발 > C&C++' 카테고리의 다른 글
[C/C++]Packet Parser 클래스(Similar. String...) (0) | 2022.10.21 |
---|---|
[Windows] Keyboard - key code & value (0) | 2021.11.08 |
[API] ShellExecute Function (0) | 2017.03.10 |
[TEMPLATE] VECTOR / MAP - RELEASE MEMORY (0) | 2017.03.09 |
[MFC] CDaoFieldInfo / Column or Field 의 DataType (0) | 2017.03.08 |