PsSetCreateProcessNotifyRoutine 함수(ntddk.h)

PsSetCreateProcessNotifyRoutine 루틴은 프로세스가 만들어지거나 삭제될 때마다 호출할 루틴 목록에 드라이버 제공 콜백 루틴을 추가하거나 제거합니다.

구문

NTSTATUS PsSetCreateProcessNotifyRoutine(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
  [in] BOOLEAN                        Remove
);

매개 변수

[in] NotifyRoutine

호출자가 제공하는 프로세스 생성 콜백 루틴의 진입점을 지정합니다. PCREATE_PROCESS_NOTIFY_ROUTINE 참조하세요.

[in] Remove

NotifyRoutine으로 지정된 루틴을 시스템의 알림 루틴 목록에 추가하거나 제거할지 여부를 나타냅니다. FALSE이면 지정된 루틴이 목록에 추가됩니다. TRUE이면 지정된 루틴이 목록에서 제거됩니다.

반환 값

PsSetCreateProcessNotifyRoutine 은 다음 중 하나를 반환할 수 있습니다.

반환 코드 설명
STATUS_SUCCESS
지정된 NotifyRoutine 이 이제 시스템에 등록됩니다.
STATUS_INVALID_PARAMETER
지정된 NotifyRoutine 이 이미 등록되었으므로 이 호출은 중복 호출이거나 시스템이 프로세스 생성 콜백을 등록하기 위한 제한에 도달했습니다.

설명

최고 수준의 드라이버는 PsSetCreateProcessNotifyRoutine 을 호출하여 PCREATE_PROCESS_NOTIFY_ROUTINE 구현된 프로세스 생성 알림 루틴을 설정할 수 있습니다.

IFS 또는 최고 수준의 시스템 프로파일링 드라이버는 프로세스 생성 콜백을 등록하여 드라이버의 내부 상태에 대한 프로세스의 시스템 전체 생성 및 삭제를 추적할 수 있습니다. Windows Vista 이상 버전의 Windows의 경우 시스템은 최대 64개의 프로세스 생성 콜백 루틴을 등록할 수 있습니다.

드라이버는 언로드하기 전에 등록하는 콜백을 제거해야 합니다. TRUE 제거를 사용하여 PsSetCreateProcessNotify를 호출하여 콜백을 제거할 = 수있습니다. 드라이버는 PCREATE_PROCESS_NOTIFY_ROUTINE 콜백 루틴의 구현에서 이 호출을 수행해서는 안됩니다.

드라이버 제공 루틴이 등록되면 입력 ProcessId 핸들에 의해 지정된 새로 만든 프로세스 내에서 초기 스레드가 만들어진 직후 CreateTRUE로 설정하여 호출됩니다. 입력 ParentId 핸들은 새로 만든 프로세스의 부모 프로세스를 식별합니다(우선 순위, 선호도, 할당량, 토큰 및 핸들 상속에 사용되는 부모입니다.)

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

추가 정보

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine