Thread: I am about to develop drivers for windows as i have to make a project on that.

  1. #1
    Registered User
    Join Date
    Jul 2008
    Posts
    37

    I am about to develop drivers for windows as i have to make a project on that.

    I am about to develop drivers for windows as i have to make a project on that.

    I have gone through the resources available at msdn library, but I am still not getting how can I do practice on making those.
    what software I should install , is that WDK or anything else?
    and after installing where should i start from?

    regards
    san

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    I would suggest you use a virtual machine to test your driver since if it fails, it will bomb your entire operating system...
    And as far as I know, the Driver Kit or whatever it's called also includes a compiler used to compile your drivers?
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #3
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    san_crazy
    Registered User


    Join Date: Jul 2008
    Posts: 21
    Why do I have a feeling you are not a seasoned programmer who just happened to recently register at this site? Are you up to writing a driver (not to be "Mr. Discouragement")? Maybe you should start off a bit smaller first. Though I do like your ambition. Definitely do as Elysia suggested and for sure get the Driver Development Kit... since its kind of where you will be starting.

    Recommendation: If possible use another machine for your driver development machine. It makes testing oh so much easier when you are wanting to put it in action.

  4. #4
    Registered User
    Join Date
    Jul 2008
    Posts
    37
    as i don't have another system, is there not any way by which I can code and test the driver program in my own system without any single vulnerability?

    would it be dangerous for hardwares also while running such program. can I start this writing it for any particular hardware device that is not used and any damage to it doesn't cost so much?

  5. #5
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    Quote Originally Posted by Elysia View Post
    I would suggest you use a virtual machine to test your driver since if it fails, it will bomb your entire operating system...
    And as far as I know, the Driver Kit or whatever it's called also includes a compiler used to compile your drivers?
    Did you just ignore what Elysia said that I had agreed with (which I boldified for your viewing pleasure)?

    The reason I say use another system is quite simply I hate restarting my development machine. Nothing more. Usually by the time you are feeling strongly about your driver's stability you can just put it on your rig, but then you have to restart... then reopen your project... initialize your debugger and attach it to your driver... then recompile it without the bugs... then restart with the updated driver... then get upset and reinstall the driver you had to begin with...

    ...Yeah I have been there before. In any event, the Driver Development Kit (or whatever they call it nowadays) comes with a virtual machine. It is actually very handy even for debugging other apps besides drivers.

  6. #6
    Registered User
    Join Date
    Jul 2008
    Posts
    37
    do you know any link where I can download the DDK from?

    I have googled for that without any success.

  7. #7
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    Click here... (10 seconds into the site you may wish to put a gun to your head... but that is Microsoft for you)

    For what OS? It is actually a pain in the ass to acquire, just so you know. In the future you may just go straight to msdn.microsoft.com and look. But they dev kits are platform dependant.
    Last edited by master5001; 10-03-2008 at 01:45 PM.

  8. #8
    Registered User
    Join Date
    Jul 2008
    Posts
    37
    for wondow xp sp2.

    well, I found a link but I am not sure if it is exactly what I am looking for.
    http://http://www.microsoft.com/downloads/details.aspx?FamilyID=a55b6b43-e24f-4ea3-a93e-40c0ec4f68e5&DisplayLang=en
    Last edited by san_crazy; 10-03-2008 at 01:51 PM.

  9. #9
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I dunno... the link didn't work for me. Why Microsoft replaced the DDK's with the WDK's is beyond me. Though the WDK's make more sense from a developmental standpoint, from a navigating their site perspective the words that come out of my mouth while looking for the correct WDK are rarely anything other than explitives.

  10. #10
    Registered User
    Join Date
    Jul 2008
    Posts
    37
    click on the link now, it works

  11. #11
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I am not extremely clear on whether or not this even supports XP drivers... is just downloading it and finding out that way a problem? Its probably what I would do.

  12. #12
    Banned master5001's Avatar
    Join Date
    Aug 2001
    Location
    Visalia, CA, USA
    Posts
    3,685
    I could have sworn that they separated the DDK's so that the 2003 one doesn't work for XP and the Longhorn/Vista one is only for Vista... Or "Mojave" as they call it on those stupid commercials--an homage to public stupidity.

  13. #13
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by san_crazy View Post
    would it be dangerous for hardwares also while running such program.
    Yes!

    Quote Originally Posted by san_crazy View Post
    can I start this writing it for any particular hardware device that is not used and any damage to it doesn't cost so much?
    No!

    Why is this? Because in kernel mode, you have access to the very internals of Windows, and if anything goes wrong, you could do something very bad, such as corrupt the registry and making your machine unable to boot again.

    Granted, simpler drivers runs less risk of doing this, but the very risk is still there.

    You will have to very experienced in avoiding buffer overruns for one thing. If you get one, you are in serious trouble.

    The best thing would be to have lots of experience in coding. And even then, a virtual machine for testing is pretty much a must.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  14. #14
    Registered User
    Join Date
    Jul 2008
    Posts
    37
    Quote Originally Posted by Elysia View Post

    The best thing would be to have lots of experience in coding. And even then, a virtual machine for testing is pretty much a must.
    thanks anyway.

    ok, its not a big deal if I will have to do lots of practice to gain lots of experience cause I have enough time around 6 months.
    you tell me, what are the things specifically in C which I should focus most in?

    pointers?,....bit fields?.....or anything else.

    I have good understanding of pointers though, but not about bit fields.

  15. #15
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    What you need most, I think, is keeping your code safe from undefined behaviors, especially buffer overruns.
    I don't know much other than that, since I haven't developed drivers myself.
    Although, there's nothing from stopping you to try once you got a virtual machine. You may benefit from the experience, possibly.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. "Cannot make pipe"
    By crepincdotcom in forum C Programming
    Replies: 5
    Last Post: 08-16-2004, 12:43 PM
  2. How do I fix this error?
    By BigMac in forum C++ Programming
    Replies: 8
    Last Post: 12-14-2003, 04:32 AM
  3. I Need The Simplest Tutorial Out there.
    By yakabod in forum C++ Programming
    Replies: 8
    Last Post: 08-14-2003, 12:33 AM
  4. Another question on classes
    By hpy_gilmore8 in forum C++ Programming
    Replies: 26
    Last Post: 05-24-2003, 09:11 AM
  5. Replies: 12
    Last Post: 05-14-2003, 01:00 AM