N
Nadav
Hi,
I am developing a display mirror drive, following is a description of
several issues I have encountered, any help will be appreciated.
Issue One:
INTRODUCTION: I am tying to map kernel memory to user memory in a mirror
display driver based upon the sample given in the DDK, to achieve the
mapping I have created an external DLL ( Here on this DLL will be referred
as DispCmn.DLL ) that encapsulate all of the memory management functions (
e.g. SHM_Alloc and SHM_Dealloc ), I am using EngLoadImage in combination
with EngFindImageProcAddress to access the methods just described
THE PROBLEM: EngLoadImage returns NULL although the binary DLL file is
actually being accessed by the kernel ( this was verified using sysinternals
FileMon ), Why is that happening? the DLL ( DispCmn.DLL ) is being linked
with wdm.lib and is dependent on NTOSKRNL.EXE and KERNEL32.DLL, may this
dependency impose any problems? does EngLoadImage restricts certain DLLs
from being loaded?
Issue Two:
The Mirror sample provided with the DDK include some default hooking ( e.g.
INDEX_DrvEnableSurface and INDEX_DrvDisableSurface ) Does this hooking are
mandatory? Is it OK to disable those hooking ( for the time being )?
Is some hooking are mandatory how can one know what are and what are not?
Issue Three:
The development cycle of a mirror driver is not of the shortest: one should
reboot the system each time the mirror driver is to be updated, I wonder...
Is there a way of unloading the mirror driver without rebooting the system?
this will save me a lot of the development time.
ThanX
Nadav.
See a great COM Profiling tool I have developed at
http://www.ddevel.com/DrCOM.asp
I am developing a display mirror drive, following is a description of
several issues I have encountered, any help will be appreciated.
Issue One:
INTRODUCTION: I am tying to map kernel memory to user memory in a mirror
display driver based upon the sample given in the DDK, to achieve the
mapping I have created an external DLL ( Here on this DLL will be referred
as DispCmn.DLL ) that encapsulate all of the memory management functions (
e.g. SHM_Alloc and SHM_Dealloc ), I am using EngLoadImage in combination
with EngFindImageProcAddress to access the methods just described
THE PROBLEM: EngLoadImage returns NULL although the binary DLL file is
actually being accessed by the kernel ( this was verified using sysinternals
FileMon ), Why is that happening? the DLL ( DispCmn.DLL ) is being linked
with wdm.lib and is dependent on NTOSKRNL.EXE and KERNEL32.DLL, may this
dependency impose any problems? does EngLoadImage restricts certain DLLs
from being loaded?
Issue Two:
The Mirror sample provided with the DDK include some default hooking ( e.g.
INDEX_DrvEnableSurface and INDEX_DrvDisableSurface ) Does this hooking are
mandatory? Is it OK to disable those hooking ( for the time being )?
Is some hooking are mandatory how can one know what are and what are not?
Issue Three:
The development cycle of a mirror driver is not of the shortest: one should
reboot the system each time the mirror driver is to be updated, I wonder...
Is there a way of unloading the mirror driver without rebooting the system?
this will save me a lot of the development time.
ThanX
Nadav.
See a great COM Profiling tool I have developed at
http://www.ddevel.com/DrCOM.asp