반응형
HANDLE OpenProcess(DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId);
OpenProcess 함수는 실행되고있는 로컬 프로세스의 HANDLE 을 받아오는 역할을 한다.
dwDesiredAccess
프로세스 객체의 접근 권한이다.
이 파라미터 MSDN : Process Access Right 에서 확인할 수 있으며 하나 또는 그 이상일 수 있다.
bInheritHandle
이 파라미터의 값이 Ture 라면 이 프로세스에 의해 생성된 프로세스가 핸들을 상속받게된다.
False 일 경우 프로세스는 핸들을 상속 받지 않는다.
dwProcessId
핸들을 가져올 로컬프로세스의 식별자를 의미한다.
이 파라미터의 값을 GetCurrentProcessId 함수를 통해 사용하려는 경우
OpenProcess 함수 대신 GetCurrentProcess 함수를 사용하는것이 성능 향상에 좋다.
OpenProcess 함수가 성공적으로 실행을 완료한다면 특정 프로세스의 핸들이 반환된다.
실패할 경우 NULL 이 반환되며 GetLastError 함수를 통해 함수가 실행에 실패한 이유를 확인할 수 있다.
Example
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
if(!hProcess) std::cout << GetLastError();
반응형
'프로그래밍 > WinAPI' 카테고리의 다른 글
GetProcAddress 함수 (0) | 2020.09.05 |
---|---|
GetModuleHandleW 함수 (0) | 2020.09.05 |
WriteProcessMemory 함수 (0) | 2020.09.05 |
VirtualAllocEx 함수 (0) | 2020.09.05 |
STATSTG Structure (0) | 2020.07.25 |