프로세스ID를 이용한 전체 경로명(Full pathname) 얻기
 - QueryFullProcessImageName()




 프로세스ID를 이용하여 전체 경로명을 얻기 위해 psapi.h 에 정의되어 있는
GetModuleFileNameEx 와 GetProcessImageFileName 등의 함수를 사용할 수 있다.
그런데 새로운 프로세스가 생성되었음을 알려주는 통지 메시지가 도착했을 때 이러한
함수를 호출하면 프로세스의 주소 공간(Address Space)이 완전히 초기화되지 않은
상황(모듈들이 메모리 상에 매핑되기 전)일 수도 있기 때문에 함수 호출이 실패할 수도 있다.


GetProcessImageFileName()

위의 특수한 상황 에서도 정확하게 전체 경로명을 획들할 수 있다.
하지만 경로명이 c:\Windows\System32\notepad.exe 와 같은 모습이 아니라
\Device\Harddisk\Volume1\Windows\System32\notepade.exe 와 같은 모습을 가진다.


QueryFullProcessImageName()

어떠한 상황에서도 전체 경로명을 정확하게 획들할 수 있다.




cf) Windows VIA C/C++  - 한빛 미디어
Posted by six605
,