PsSetLoadImageNotifyRoutineEx 함수(ntddk.h)

PsSetLoadImageNotifyRoutineEx 루틴은 이미지(예: DLL 또는 EXE)가 로드되거나 메모리에 매핑될 때마다 이후에 알림을 수신하는 드라이버 제공 콜백을 등록합니다.

구문

NTSTATUS PsSetLoadImageNotifyRoutineEx(
  [in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine,
  [in] ULONG_PTR                  Flags
);

매개 변수

[in] NotifyRoutine

부하 이미지 알림에 대한 호출자 구현 PLOAD_IMAGE_NOTIFY_ROUTINE 콜백 루틴에 대한 포인터입니다.

[in] Flags

콜백 함수를 제어하는 플래그의 비트 마스크를 제공합니다. 가능한 값은 다음과 같습니다.

  • PS_IMAGE_NOTIFY_CONFLICTING_ARCHITECTURE 운영 체제의 네이티브 아키텍처와 다른 아키텍처가 있는 이미지를 포함하여 잠재적으로 실행 가능한 모든 이미지에 대해 콜백 루틴을 호출해야 했음을 나타냅니다.

반환 값

반환 코드 설명
STATUS_SUCCESS
콜백이 성공적으로 등록되었습니다.
STATUS_INVALID_PARAMETER_2
플래그에 잘못된 플래그가 제공되었습니다.
STATUS_INSUFFICIENT_RESOURCES
리소스 부족으로 인해 루틴이 콜백 블록을 할당하지 못했습니다.

설명

최고 수준의 시스템 프로파일링 드라이버는 PsSetLoadImageNotifyRoutineEx 를 호출하여 부하 이미지 알림 루틴을 설정할 수 있습니다( PLOAD_IMAGE_NOTIFY_ROUTINE 참조).

부하 이미지 알림을 수신하기 위해 동시에 등록할 수 있는 최대 드라이버 수는 64개입니다. 드라이버가 PsSetLoadImageNotifyRoutineEx 를 호출하여 추가 알림 루틴을 등록하려고 할 때 로드 이미지 알림 루틴의 최대 수가 이미 등록된 경우 PsSetLoadImageNotifyRoutineEx 가 실패하고 STATUS_INSUFFICIENT_RESOURCES 반환합니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10, 버전 1709
지원되는 최소 서버 Windows Server 2016
대상 플랫폼 Windows
헤더 ntddk.h
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe(커널 모드)
IRQL PASSIVE_LEVEL