Is there any method to determine if system going to call DriverEntry() of driver image, which have been mapped by MmLoadSystemImage() previosly.
I ask this because i have discover that some drivers (e.g. "videoprt.sys") have their images mapped but their DriverEntry() never get called. They behave just like some user-mode DLLs, which don't do anything except for providing some export functions to other modules. But i don't understand why their entry point even exist (address is not null), if it never get called anyway.
I hook entry points of loaded images inside callback handler registered by PsSetLoadImageNotifyRoutine() to execute some code, but my new entry point never get called. So i wonder how i can determine this behavior, maybe some flags in PE-related structures? Or the only way is to hardcode names of drivers, which seem to have such behavior and just ignore them inside my callback handler?
I ask this because i have discover that some drivers (e.g. "videoprt.sys") have their images mapped but their DriverEntry() never get called. They behave just like some user-mode DLLs, which don't do anything except for providing some export functions to other modules. But i don't understand why their entry point even exist (address is not null), if it never get called anyway.
I hook entry points of loaded images inside callback handler registered by PsSetLoadImageNotifyRoutine() to execute some code, but my new entry point never get called. So i wonder how i can determine this behavior, maybe some flags in PE-related structures? Or the only way is to hardcode names of drivers, which seem to have such behavior and just ignore them inside my callback handler?