본문 바로가기

My Study/Function

DuplicateHandle

BOOL WINAPI DuplicateHandle(
  __in   HANDLE hSourceProcessHandle,
  __in   HANDLE hSourceHandle,
  __in   HANDLE hTargetProcessHandle,
  __out  LPHANDLE lpTargetHandle,
  __in   DWORD dwDesiredAccess,
  __in   BOOL bInheritHandle,
  __in   DWORD dwOptions
);

핸들을 복사하는 기능. 현재 실행 중인 프로세스의 Real핸들을 얻고자 할때 사용

hSourceProcessHandle : 복제할 핸들을 소유하는 프로세스를 지정한다.
hSourceHandle : 복제할 핸들을 지정한다.
hTargetProcessHandle : 복제된 핸들을 소유할 프로세스를 지정한다.
lpTargetHandle : 복제된 핸들값을 저장할 변수의 주소를 지정한다.
dwDesiredAccess : 복제된 핸들의 접근권한을 지정한다. 0전달(이 변수 무시)
bInheritHandle : 복제된 핸들의 상속 여부를 지정한다. TRUE전달 시 새로운 자식 프로세스로 상속
                 FALSE 전달 시 상속되지 않는다.
dwOptions : DUPLICATE_SAME_ACCESS를 전달하면 원본 핸들과 동일한 접근권한을 가지게 된다.
     DUPLICATE_CLOSE_SOURCE 인자를 전달하면 원본 핸들을 종료시킨다. 이 둘은 비트단위 OR 연산 가능

'My Study > Function' 카테고리의 다른 글

SetFileTime  (0) 2010.02.24
CreatePipe  (0) 2010.02.24
CreateMailslot  (0) 2010.02.24
SHGetSpecialFolderPath  (0) 2010.02.24
GetModuleFileName  (0) 2010.02.24