Windows 필터링 플랫폼에서 드라이버를 개발 중이며 필요한 작업을 수행하기 위해 다른 프로세스의 프로세스 ID가 필요합니다. 그 프로세스 (name.exe)의 파일 이름만을 알고 있습니다.WDK : 이름으로 processId 가져 오기
win32에서 CreateToolhelp32Snapshot 함수를 사용하여 모든 프로세스의 목록을 얻을 수 있었고 거기에서 PID를 검색 할 수있었습니다. (http://msdn.microsoft.com/en-us/library/ms684834(VS.85).aspx)
불행히도 커널 모드에서는이 항목을 사용할 수 없습니다. 누구든지 kernelID에 의해 이진 이름만을 알고있는 processID를 어떻게 얻을 수 있는지 알고 있습니까?
답장을 보내 주셔서 감사합니다. MSDN에 따르면 "PsSetCreateProcessNotifyRoutineEx 루틴은 프로세스가 만들어 지거나 종료 될 때 호출자에게 알리는 콜백 루틴을 등록하거나 제거합니다." 그래서 불행히도 내가 필요로하지 않는 것 같습니다. 응용 프로그램이 시작된 후 드라이버가로드되기 때문에 이미 실행중인 프로세스를 알아야합니다. – Marco
@Marco, 여러분은 환영합니다. 네, 그게 타이밍에 따라 궁금해하는 것입니다. "죄송합니다. 당신에게 효과가 없습니다 ... 제가 기억한다면, PEB는 이중 링크 목록을 어딘가에 가지고 있습니다. 당신은 시스템상의 모든 PEB에 접근 할 수 있습니다. –