That would be nice too!
Posted on 2002-05-28 04:15:27 by Rama
This KMD allows the calling application to run ring0 code. You can read and write to the control registers, look at physical memory (with appropriate setup etc.), and other ring0 stuff. If someone can help on the exception handling bit then it'll be very much appreciated. It's my first Kernel Mode Driver so don't be abusive pls :) f0dder: please keep flamings to a minimum :PPPP (just kidding). Any comments and suggestions welcome. Thx!
Posted on 2002-06-24 10:21:26 by Rama
Rama, very cool to have an example in this area :alright: - hopefully, I will be able to spend more time on this in the future - too busy with other stuff right now.
Posted on 2002-06-24 10:46:26 by bitRAKE
i want to learn about this?can you tell me?
Posted on 2002-06-29 08:19:33 by bgcq
Tell you about what? Most of the basic things you need to know are in that code example!
Posted on 2002-06-29 10:45:43 by Rama
i run your,and run rama.bat but out message is cant open input file:"ntoskrnl.lib",where can i find it ?
Posted on 2002-06-29 15:34:09 by bgcq
Hmm.. well im deeply interested in your work. I've downloaded your source and tried to run it but only got "Error".

I searched thru you source and batch files, and only found that "Error" is called by the label 'error', which appears in a multitude of locations. So i have no clue why it failed....

Im running windows 98SE. I extracted and tested it from the C:\windows\desktop\kmd .

So my constructive critisism is to add more meaningful error messages ;)

PS: you dont check your private messages much do you?

Posted on 2002-06-30 04:44:51 by NaN
NaN, Sorry, but I should have mentioned that this is only for windows NT. :( I don't think 98se take .sys files. Are you making KMD's too?

bgcq: You will need to download the NTDDK which has ntoskrnl.lib or get it from somewhere. In the .bat file where it says "/LIBPATH:..." change that to the directory where your ntoskrnl.lib file is. :)
Posted on 2002-06-30 06:01:15 by Rama
KMDs are only for NT. While 98se and WinMe support WDM files,
there isn't KMD (aka .sys) file support.
Posted on 2002-06-30 09:22:26 by f0dder
Kmds's are for NT but WDM work on
win2k, 98se, me and xp. It was microsofts
attemp at unifying the driver model on
supported platforms.

Posted on 2002-06-30 15:29:11 by prs
As far as I know, WDM seems to be only for stuff like USB cameras,
scanners, sound devices and such... do they even run ring0?
Posted on 2002-06-30 15:34:18 by f0dder
Hi Fodder,
wdm run ring 0. They have added functionality
available to them for plug and play events
and a variety of other "features". Microsoft
recommends that all new kernel mode drivers
be wdm.
The big difference between traditional KMD and
wdm is wdm must adhere to a "layered" architecture. gives a good overview on them.

This is about all i know on them. I usualy stick
to writing Kmd's since i dont need the pnp functionality they offer.

Take Care
Posted on 2002-06-30 15:53:31 by prs
thanks :alright:
Posted on 2002-06-30 15:57:35 by f0dder
Thanx Rama et. al.

I didnt realize that there was both KMD's and WDM's on a given NT os...

My interests are building reliable drivers for I/O with custom hardware devices... either thru the PCI/ISA bus, or COM and Parallel ports.

If anyone has an masm WDM's to study from i would be interested... thanx

Posted on 2002-06-30 21:53:29 by NaN