관리 메뉴

kisoo

PsSetCreateProcessNotifyRoutine 프로세스의 시작과 종료시점을 알려주는 본문

01.About Programming /2.Kernel Lab

PsSetCreateProcessNotifyRoutine 프로세스의 시작과 종료시점을 알려주는

JamesK78 2011. 3. 25. 17:02

프로세스의 시작과 종료 시점을 알려주는 함수로 PsSetCreateProcessNotifyRoutine() 이 있다.
다음과 같이 설정하면 프로세스 시작/종료 시에 CreateProcessNotifyRoutine() 이 호출된다.

PsSetCreateProcessNotifyRoutine( CreateProcessNotifyRoutine, FALSE );

콜백함수는 아래와 같은 프로토타입을 가지는데....

VOID
CreateProcessNotifyRoutine(
    IN HANDLE  ParentId,
    IN HANDLE  ProcessId,
    IN BOOLEAN  Create
    )
{
...
}

이 함수가 호출되었을 때 프로세스 컨텍스트가 MSDN 에 잘 나와 있지 않다.
궁금해서 확인해 보니

Create == TRUE 인 프로세스 시작 시점에는 Parent 프로세스 컨텍스트에서 호출되고
Create == FALSE 인 프로세스 종료 시점에는 자신의 프로세스 컨텍스트에서 호출되더라

Comments