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 운영 체제의 네이티브 아키텍처와 다른 아키텍처가 있는 이미지를 포함하여 잠재적으로 실행 가능한 모든 이미지에 대해 콜백 루틴을 호출해야 했음을 나타냅니다.
반환 값
반환 코드 | 설명 |
---|---|
|
콜백이 성공적으로 등록되었습니다. |
|
플래그에 잘못된 플래그가 제공되었습니다. |
|
리소스 부족으로 인해 루틴이 콜백 블록을 할당하지 못했습니다. |
설명
최고 수준의 시스템 프로파일링 드라이버는 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 |