Re: Device Driver that uploads it's own code?



[...]

Is it possible to have only the outer skeleton of a device driver, where
the inner code logic is uploaded at runtime from the users own application
that uses the driver?

Yes. It is possible, but the code you pass from user mode is just unable to
be run in kernel mode without special preprocessings. The problem is that
user mode code usually calls some functions, which are not present in kernel
mode.So you need to pass a simplest code which does not rely on api, or
preprocess the code, so that the offsets to import functions point to the
simular or the same procedure in kernel mode (this task is complex).

I'd like to give UserMode applications full control/configuration and
runtime alteration of the driver's behavior. For example, if the driver
must deal with complicated timing and sequencing issues on real-time
in/out data streams, and those issues are not know until runtime or might
even change during the application's runtime, how else can that be coped
with? Seem impractical to have a library of 1,000's of slightly different
device drivers and always be unloading reloading different drivers to
accommodate different functionality that changes on-the-fly. Or to have a
mega-driver with millions of different code branches to account for all
possible combinations.

[...]

Well, believe me, kernel mode programming is not an easy thing. Its better
to use decomposition approach: devide task into small sub tasks, which are
solved by appropriate module (driver).

Maybe this is what is meant by UserMode driver? I'm still not clear on
difference between a KernalMode and UserMode driver, and under which
situations I would use either one, and their respective advantages
disadvantages.

It depends on what you are trying to accomplish. Give us more info.


Is there some kind of digital signature that's within all .SYS files,
which is tested for validity before it's allowed to load or run?
If so, is there a "hack" workaround to get past such limitations?

You have to sign binaries in x64 version of Vista and further OS. Why would
you need to hack it?

--
V.
This posting is provided "AS IS" with no warranties, and confers no
rights.


.



Relevant Pages

  • Re: Device Driver that uploads its own code?
    ... use any kernel mode DLL's with your driver. ... Don Burn (MVP, Windows DDK) ... Windows 2k/XP/2k3 Filesystem and Driver Consulting ... real-time and linear, the idea of fluctuating state and variable latency ...
    (microsoft.public.win32.programmer.kernel)
  • Re: HW registers shared by OAL and user-mode device driver
    ... A Kernel mode driver is a driver that is loaded by the device manager ... User mode drivers run in the lower 2GB address space in the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: HW registers shared by OAL and user-mode device driver
    ... Windows Mobile 6 which is based on Windows CE 5.0 kernel. ... A Kernel mode driver is a driver that is loaded by the device manager ... context of a user mode process and are therefore, with some exceptions, ...
    (microsoft.public.windowsce.platbuilder)
  • Re: MS DDK sample project
    ... driver that will load and run in the kernel. ... kernel mode device driver you NEVER include NTDDK.H. ... For those special needs you include only the header files ... For kernel mode subsystems that do not explicitly include NTDDK there is a ...
    (microsoft.public.development.device.drivers)
  • Re: CDs not playing right
    ... DirectX Version: DirectX 9.0c ... DirectDraw: 0/4 (retail) ... Driver Version: 6.14.0010.6614 ... Microsoft Synthesizer, Software (Not Kernel Mode), Output, ...
    (microsoft.public.windowsmedia.player)

Loading