Can someone explain me difference between common somedll.obj file and somedriver.obj. As i see - the only one difference is that code from somedriver.obj executed in ring0 - is it right? And other question - can i load 'somefunction' that is located in somedll.obj from somedriver.obj with
i have somedll.obj with 'func1', 'func2'. I want load these fuctions from somedriver.obj. And i want to execute 'func1', 'func2' in ring0. How can i do this?
I remember kernel using libini (or libio?) to read something. Maybe this was just an experiment, but it worked. Whether you can or can't use somedll.obj from driver depends on how this DLL was written. If you're just asking for such possibility then yes, it's possible.
EDIT: libini is used now in kernel (/imports.inc, /core/conf_lib.inc, /fs/parse_fn.inc). The same DLL is also used by programs. The only difference in using it from ring0/ring3 is parameters passed to lib_init function (pointers to memory allocation/deallocation functions and DLL loading function).