views:

282

answers:

3

Hello all

I want to start learning drivers programming under windows . I never programed drivers , and i am looking for information how to get started .

Any tutorials ,links ,book recommendations , and what development tool kit i should start with ? (WDF will be good one ?)

I really want to program following clock link text

Thanks for your help .

+4  A: 

I would start by downloading the windows driver kit (WDK).

Afterwards, you decide which kind of driver you want. FileSystem driver? (probably not), RS-232 driver? usb driver? They all follow different rules and quirks.

The WDK comes with examples drivers for most kinds of drivers and should get you on track fast.

Eric
+3  A: 

To interact with USB hardware you would be best served by looking at WinUSB or the Usermode Driver Framework. Usermode drivers are orders of magnitude easier, being able to use a C++/COM(kind of) framework and a normal debugging environment.

Writing kernelmode drivers should be reserved for stuff like video card, disk, and other latency/throughput sensitive drivers.

An even easier method would be to use libusb-win32 which is a C library that makes talking to a USB endpoint almost as easy as writing data to a file.

joshperry
We world of drivers is much bigger than just usb. There is very limited (relatively) number of tasks you can do with user mode usb drivers, especially with WinUSB for example there is no support for isoch pipes or selective suspend.
Ilya
Yes of course, but a very very large number of USB devices can be controlled without such advanced functionality. I mainly focused my answer on USB because of the USB attached clock that he said he wants to control. RS-232 will never die until talking to a USB device is as easy.
joshperry
+2  A: 

Must see resource for windows driver development, of course as addition to the WDK mentioned by Eric.

Ilya