Vienna

Chapter 8) 프로세스 간 통신(IPC) 2 - Pseudo 핸들과 핸들의 중복(Duplicate) 본문

그외/뇌를 자극하는 윈도우즈 시스템 프로그래밍

Chapter 8) 프로세스 간 통신(IPC) 2 - Pseudo 핸들과 핸들의 중복(Duplicate)

아는개발자 2023. 4. 26. 12:41

■  Pseudo 핸들

GetCurrentProcess 함수를 통해 얻은 핸들을 가리키는 말.

핸들 테이블에 등록되어있지 않은 핸들이고, 현재 실행 중인 프로세스를 참조하기 위한 용도로 정의해 놓은 약속된 상수가 반환되는 것이기 때문.

 

□ 핸들 복제 (Duplicate Handle) 

BOOL DuplicateHandle{
	HANDLE hSourceProcessHandle,	// 1
    HANDLE hSourceHandle,	// 2
    HANDLE hTargetProcessHandle,	// 3
    LPHANDLE lpTargetHandle,	// 4
    DWORD dwDesireAcces,	// 5
    BOOL bInheritHandle,	// 6
    DWORD dwOptions	// 7
}

1.hSourceProcessHandle

복제할 핸들을 소유하는 프로세스를 지정

 

2, hSourceHandle

복제할 핸들을 지정

 

3. hTargetProcessHandle

복제된 핸들을 소유할 프로세스를 지정

 

4. lpTargethANDLE

복제된 핸들값을 저장할 저장할 변수의 주소를 지정

 

5. dwDesieredAcess

복제된 핸들의 접근권한을 지정

 

6. bInheritHandle

QHRWPEHLS GOSEMFDML TKDTHR DUQNFMF WLWJD

 

7. dwOptions

DUPLICATE_SAME_ACCESS 를 전달하면 원본 핸들과 동일한 접근권한을 가지게 된다

 

 

주의 사항: 복사된 핸들에 대해서도 CloseHandle 함수를 통해 핸들을 반환해야 한다

Comments