다음을 통해 공유


PsSetCreateThreadNotifyRoutine 함수(ntddk.h)

PsSetCreateThreadNotifyRoutine 루틴은 드라이버 제공 콜백을 등록합니다. 이 콜백은 이후에 새 스레드가 만들어지고 해당 스레드가 삭제될 때 알림을 받습니다.

통사론

NTSTATUS PsSetCreateThreadNotifyRoutine(
  [in] PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);

매개 변수

[in] NotifyRoutine

드라이버의 PCREATE_THREAD_NOTIFY_ROUTINE 루틴 구현에 대한 포인터입니다.

반환 값

PsSetCreateThreadNotifyRoutine STATUS_SUCCESS 반환하거나 콜백 등록에 실패한 경우 STATUS_INSUFFICIENT_RESOURCES 반환합니다.

발언

최상위 수준의 드라이버는 PsSetCreateThreadNotifyRoutine 호출하여 다음과 같이 선언된 스레드 생성 알림 루틴을 설정할 수 있습니다.

VOID
(*PCREATE_THREAD_NOTIFY_ROUTINE) (
    IN HANDLE  ProcessId,
    IN HANDLE  ThreadId,
    IN BOOLEAN  Create
    );

예를 들어 IFS 또는 최고 수준의 시스템 프로파일링 드라이버는 이러한 스레드 생성 콜백을 등록하여 드라이버의 내부 상태에 대해 시스템 차원의 스레드 생성 및 삭제를 추적할 수 있습니다.

드라이버는 언로드하기 전에 등록하는 콜백을 제거해야 합니다. PsRemoveCreateThreadNotifyRoutine 루틴을 호출하여 콜백을 제거할 수 있습니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 ntddk.h(Ntddk.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

참고 항목

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine