MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / PsCallImageNotifyRoutines

Function PsCallImageNotifyRoutines

KernelLibrary/SysMon.cpp:478–505  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

476
477
478VOID PsCallImageNotifyRoutines(
479 _In_ PUNICODE_STRING ImageName,
480 _In_ HANDLE ProcessId,
481 _In_ PVOID FileObject,
482 _In_ PIMAGE_INFO_EX ImageInfoEx
483) {
484 PLOAD_IMAGE_NOTIFY_ROUTINE Routine;
485 PEX_CALLBACK_ROUTINE_BLOCK Callback;
486
487 CriticalRegion critical;
488 AutoEnter<CriticalRegion> enter(critical);
489
490 if (PspNotifyEnableMask & 1) {
491 ImageInfoEx->Size = sizeof(IMAGE_INFO_EX);
492 ImageInfoEx->ImageInfo.ExtendedInfoPresent = TRUE;
493 ImageInfoEx->FileObject = (FILE_OBJECT*)FileObject;
494
495 for (ULONG i = 0; i < PSP_MAX_LOAD_IMAGE_NOTIFY; i++) {
496 Callback = ExReferenceCallBackBlock(&PspLoadImageNotifyRoutine[i]);
497 if (Callback != nullptr) {
498 Routine = (PLOAD_IMAGE_NOTIFY_ROUTINE)Callback->Function;
499 Routine(ImageName,
500 ProcessId, &ImageInfoEx->ImageInfo);
501 ExDereferenceCallBackBlock(&PspLoadImageNotifyRoutine[i], Callback);
502 }
503 }
504 }
505}
506
507bool EnumSystemNotify(PEX_CALLBACK callback,ULONG count,KernelCallbackInfo* info) {
508 if (!callback)

Callers

nothing calls this directly

Calls 2

ExReferenceCallBackBlockFunction · 0.85

Tested by

no test coverage detected