Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: how to start making windows drivers?  (Read 8573 times)

0 Members and 1 Guest are viewing this topic.

san_crazy

    Topic Starter


    Intermediate

    how to start making windows drivers?
    « on: October 03, 2008, 10:18:30 AM »
    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

    patio

    • Moderator


    • Genius
    • Maud' Dib
    • Thanked: 1769
      • Yes
    • Experience: Beginner
    • OS: Windows 7
    Re: how to start making windows drivers?
    « Reply #1 on: October 03, 2008, 05:07:12 PM »
    You are going to start writing device drivers for Windows ? ?
    What devices ?
    How much time do you have ? ?
    What programming languages are you fluent in ?
    Will you be paid for this work ? ?
    " Anyone who goes to a psychiatrist should have his head examined. "

    BC_Programmer


      Mastermind
    • Typing is no substitute for thinking.
    • Thanked: 1140
      • Yes
      • Yes
      • BC-Programming.com
    • Certifications: List
    • Computer: Specs
    • Experience: Beginner
    • OS: Windows 11
    Re: how to start making windows drivers?
    « Reply #2 on: October 03, 2008, 05:46:39 PM »
    Windows DDK.
    I was trying to dereference Null Pointers before it was cool.

    san_crazy

      Topic Starter


      Intermediate

      Re: how to start making windows drivers?
      « Reply #3 on: October 04, 2008, 04:48:26 AM »
      You are going to start writing device drivers for Windows ? ?
      What devices ?
      How much time do you have ? ?
      What programming languages are you fluent in ?
      Will you be paid for this work ? ?

      yes, for windows

      any device like keyboard, mouse, adapters, video cards, sound cards, usb  ports, HDD ....etc. by the way, which device will be best to start from?

      I have enough time around 6 months.

      I want to make these in C and also C++ if required.

      no I will not be paid. I am making these as my major project

      Aegis



        Expert

        Thanked: 67
        • Yes
        • Yes
        • Brian's Mess Of A Web Page
      • Experience: Experienced
      • OS: Windows 10
      Re: how to start making windows drivers?
      « Reply #4 on: October 04, 2008, 04:56:57 AM »
      Your major project?  As in thesis work?  Have you discussed this with your thesis adviser?   :o

      I'd start by trying to find some open-source drivers, so you can see the kind of coding that goes into something like this.

      Be very careful not to "reverse engineer" your drivers from existing driver software.  It is not well liked, and could lead to legal problems for you.

      I would think that in order to write drivers for Windows, you'd need to be familiar with at least some aspects of the Windows kernel.

      Have you been in touch with, or spoken to, anyone who writes driver software?

      It seems like you know a couple of languages.  How many lines is the largest program you've written, so far?
      « Last Edit: October 04, 2008, 05:07:56 AM by Aegis »


      "For you, a thousand times over." - "The Kite Runner"

      san_crazy

        Topic Starter


        Intermediate

        Re: how to start making windows drivers?
        « Reply #5 on: October 04, 2008, 05:47:00 AM »
        well, I had written around 1000 lines of code to complete a project in C using structures and pointers.

        BC_Programmer


          Mastermind
        • Typing is no substitute for thinking.
        • Thanked: 1140
          • Yes
          • Yes
          • BC-Programming.com
        • Certifications: List
        • Computer: Specs
        • Experience: Beginner
        • OS: Windows 11
        Re: how to start making windows drivers?
        « Reply #6 on: October 04, 2008, 09:41:52 AM »
        well, I had written around 1000 lines of code to complete a project in C using structures and pointers.

        1000 lines is about the number of lines it takes to make a Windows Program that does nothing but show a window...

        alright- any experience with the Windows API? or IRPs or PTEs? Or IRQLs? Ring 0 and Ring 2? VTables? User Mode Vs Kernel Mode?


        Also, you won't be able to debug it- Drivers will Blue Screen if they cause an error.
        I was trying to dereference Null Pointers before it was cool.

        Aegis



          Expert

          Thanked: 67
          • Yes
          • Yes
          • Brian's Mess Of A Web Page
        • Experience: Experienced
        • OS: Windows 10
        Re: how to start making windows drivers?
        « Reply #7 on: October 04, 2008, 11:29:20 AM »
        Don't get me wrong, san -- I admire that you want to do this!  I, too, would like to write open-source drivers, and hardly know where to start, because I haven't programmed anything for about 25 years.

        It seems like BC Programmer knows more specifics about the Windows environment than me -- I just have general knowledge.

        I just don't want you to get two or three months into this thing, and find out you're in way too deep, with no real resources to help you out.


        "For you, a thousand times over." - "The Kite Runner"

        san_crazy

          Topic Starter


          Intermediate

          Re: how to start making windows drivers?
          « Reply #8 on: October 04, 2008, 11:59:57 AM »


          alright- any experience with the Windows API? or IRPs or PTEs? Or IRQLs? Ring 0 and Ring 2? VTables? User Mode Vs Kernel Mode?


          Also, you won't be able to debug it- Drivers will Blue Screen if they cause an error.

          i dont know either of this, well you better tell me what are the things in C i should give the emphasis on most to start off my work.  and after then what else I should go for?


          BC_Programmer


            Mastermind
          • Typing is no substitute for thinking.
          • Thanked: 1140
            • Yes
            • Yes
            • BC-Programming.com
          • Certifications: List
          • Computer: Specs
          • Experience: Beginner
          • OS: Windows 11
          Re: how to start making windows drivers?
          « Reply #9 on: October 04, 2008, 05:23:30 PM »
          The DDK. I've already said this. You'll need to download the DDK- and, if you don't have it, the SDK.

          You'll need to essentially learn the Windows API and the Driver Development Kit, both of which could take a VERY long time.

          There are a few technical articles on MSDN that discuss drivers, but they are fairly limited- most of the knowledge about developing drivers likely lies with the hardware vendors that have been doing it for years.

          Developing drivers for windows is probably one of the most difficult things you can do- you need an intimate understanding of the windows kernel and how drivers in Ring 0 communicate with User mode application and vice versa.


          which C compiler are you using?
          I was trying to dereference Null Pointers before it was cool.

          san_crazy

            Topic Starter


            Intermediate

            Re: how to start making windows drivers?
            « Reply #10 on: October 05, 2008, 01:44:30 PM »
            turbo c (tcc)

            would you suggest such forums where most of the vendors come online?

            BC_Programmer


              Mastermind
            • Typing is no substitute for thinking.
            • Thanked: 1140
              • Yes
              • Yes
              • BC-Programming.com
            • Certifications: List
            • Computer: Specs
            • Experience: Beginner
            • OS: Windows 11
            Re: how to start making windows drivers?
            « Reply #11 on: October 05, 2008, 06:51:41 PM »
            turbo c- NOT happening. You can't compile win32 programs with Turbo C, AFAIK.
            I was trying to dereference Null Pointers before it was cool.

            san_crazy

              Topic Starter


              Intermediate

              Re: how to start making windows drivers?
              « Reply #12 on: October 05, 2008, 11:35:03 PM »
              then which compiler I should use?

              well, by now   I have downloaded set up files of microsoft DDK SP1 and microsoft virtual PC to work upon but there is a problem installing DDK SP1.
              at the microsoft site where I downloaded the ISO file from, instruction is there to burn the ISO file to a CD or DVD and then install it. I am doing as i have been instructed but after burning the ISO file on CD when I try to install it, it is not getting run however I have been rather asked for the application on which it would be run.
              do you have some idea about this issue?

              and what about the help forums?
              « Last Edit: October 06, 2008, 12:19:22 AM by san_crazy »

              BC_Programmer


                Mastermind
              • Typing is no substitute for thinking.
              • Thanked: 1140
                • Yes
                • Yes
                • BC-Programming.com
              • Certifications: List
              • Computer: Specs
              • Experience: Beginner
              • OS: Windows 11
              Re: how to start making windows drivers?
              « Reply #13 on: October 06, 2008, 09:43:37 AM »
              Compiler to use would likely be the Microsoft compiler- for C/C++, it's really the only compiler that can generate code that will work for a driver...


              is the installer an MSI file?
              I was trying to dereference Null Pointers before it was cool.

              san_crazy

                Topic Starter


                Intermediate

                Re: how to start making windows drivers?
                « Reply #14 on: October 06, 2008, 12:41:34 PM »
                its not an MSI file.  its just an ISO file
                here it is

                http://www.microsoft.com/whdc/devtools/ddk/default.mspx