다음을 통해 공유


PsSetCreateProcessNotifyRoutineEx2 함수(ntddk.h)

PsSetCreateProcessNotifyRoutineEx2 루틴은 프로세스를 만들거나 삭제할 때 호출자에게 알릴 콜백 루틴을 등록하거나 제거합니다.

통사론

NTSTATUS PsSetCreateProcessNotifyRoutineEx2(
  [in] PSCREATEPROCESSNOTIFYTYPE NotifyType,
  [in] PVOID                     NotifyInformation,
  [in] BOOLEAN                   Remove
);

매개 변수

[in] NotifyType

프로세스 알림의 유형을 나타내는 PSCREATEPROCESSNOTIFYTYPE-type 값입니다.

[in] NotifyInformation

지정된 유형의 프로세스 알림에 대한 알림 정보의 주소입니다. NotifyType PsCreateProcessNotifySubsystems 경우 NotifyInformation 호출자가 제공한 프로세스 생성 콜백의 진입점을 지정하는 PCREATE_PROCESS_NOTIFY_ROUTINE_EX.

[in] Remove

PsSetCreateProcessNotifyRoutineEx2 콜백 루틴 목록에서 지정된 루틴을 추가하거나 제거할지 여부를 지정하는 부울 값입니다. 이 매개 변수가 TRUE 경우 지정된 루틴이 콜백 루틴 목록에서 제거됩니다. 이 매개 변수가 FALSE 경우 지정된 루틴이 콜백 루틴 목록에 추가됩니다. 제거 TRUE 경우 시스템은 모든 진행 중인 콜백 루틴이 완료되기를 기다린 후 반환합니다.

반환 값

PsSetCreateProcessNotifyRoutineEx2 다음 NTSTATUS 값 중 하나를 반환합니다.

반환 코드 묘사
STATUS_SUCCESS
이제 지정된 루틴이 운영 체제에 등록됩니다. 운영 체제는 새 프로세스를 만들 때마다 이 루틴을 호출합니다.
STATUS_INVALID_PARAMETER
지정된 루틴이 이미 등록되었거나 운영 체제가 프로세스 생성 콜백 루틴을 등록하는 제한에 도달했습니다.

NotifyType PsCreateProcessNotifySubsystems 않습니다.

STATUS_ACCESS_DENIED
콜백 루틴 포인터가 포함된 이미지의 이미지 헤더에 IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 설정되지 않았습니다.

발언

드라이버는 PsSetCreateProcessNotifyRoutineEx2 호출하여 프로세스 생성 알림 루틴을 등록할 수 있습니다.

드라이버 제공 루틴이 등록되면 생성되거나 삭제된 프로세스의 고유 ID(ProcessId표시됨)로 호출됩니다. ParentId 상속 핸들 옵션을 사용하여 만든 경우 새 프로세스의 부모 프로세스(우선 순위, 선호도, 할당량, 토큰 및 상속 처리에 사용되는 부모)를 식별합니다. 상속 핸들 옵션 없이 만든 경우 부모 프로세스 ID는 NULL입니다.

만들기 값이 TRUE이면 하위 시스템 프로세스가 생성되었습니다. FALSE는 프로세스가 삭제되었음을 나타냅니다.

프로세스가 만들어지면 프로세스의 첫 번째 스레드가 만들어진 직후 콜백 함수가 호출됩니다. 반대로, 삭제를 위해 프로세스의 마지막 스레드가 종료되고 주소 공간이 삭제될 예정이면 함수가 호출됩니다. 스레드가 생성되지 않고 프로세스가 만들어지고 삭제된 경우 생성 호출을 받지 않고 콜백이 삭제에 대해서만 호출될 수 있습니다.

드라이버는 언로드하기 전에 등록하는 콜백 함수를 제거해야 합니다. Remove = TRUE사용하여 PsSetCreateProcessNotifyRoutineEx2 호출하여 콜백을 제거할 수 있습니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10 버전 1703
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 보편적
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs, PowerIrpDDis

참고 항목

PCREATE_PROCESS_NOTIFY_ROUTINE_EX

PsSetCreateProcessNotifyRoutine

PsSetCreateProcessNotifyRoutineEx