반응형
프로세스의 시작과 종료 시점을 알려주는 함수로 PsSetCreateProcessNotifyRoutine() 이 있다.
다음과 같이 설정하면 프로세스 시작/종료 시에 CreateProcessNotifyRoutine() 이 호출된다.
PsSetCreateProcessNotifyRoutine( CreateProcessNotifyRoutine, FALSE );
콜백함수는 아래와 같은 프로토타입을 가지는데....
VOID
CreateProcessNotifyRoutine(
IN HANDLE ParentId,
IN HANDLE ProcessId,
IN BOOLEAN Create
)
{
...
}
이 함수가 호출되었을 때 프로세스 컨텍스트가 MSDN 에 잘 나와 있지 않다.
궁금해서 확인해 보니
Create == TRUE 인 프로세스 시작 시점에는 Parent 프로세스 컨텍스트에서 호출되고
Create == FALSE 인 프로세스 종료 시점에는 자신의 프로세스 컨텍스트에서 호출되더라.
기억해 두는 것이 좋겠다.
반응형