Well you didn't specified for which OS .. for linux or Windows XP ?
But before you clarify it . Let me tel you there is a short cut using a product
called WINDRIVER from www.jungo.com you could download a demo version from their site . The idea of that project is to hide all those complex and dark OS aspects .And provide you an intermediary layer with a programing API .that is way much easier to use .And drivers can be develloped in matter of hours.