auk_ie
asked on
Starting Driver Development (NDIS), A good place?
Hello I am new to driver development
I want to start building an NDIS protocol driver to manipulate ethernet frames.
I want to know if anyone knows of a good tutorial/book which steps through a simple hello world driver example.
I have the ddk and read alot of it. But now I just want be able to apply some of that knowledge practically. All I want to do is build a write and compile a simple NDIS protocol that does absolutely nothing but can be installed and deleted
I want to start building an NDIS protocol driver to manipulate ethernet frames.
I want to know if anyone knows of a good tutorial/book which steps through a simple hello world driver example.
I have the ddk and read alot of it. But now I just want be able to apply some of that knowledge practically. All I want to do is build a write and compile a simple NDIS protocol that does absolutely nothing but can be installed and deleted
Have you seen http://support.microsoft.com/default.aspx?scid=kb;en-us;178322 ("IMSamp.exe: NDIS 4.0 Intermediate Driver Sample")?
"This is an network driver interface specification (NDIS) 4.0 intermediate driver sample. This sample is designed to layer in between the installed transports and the installed miniports. Currently, this sample only receives packets and passes them on to lower layers. The upper edge of this sample is a miniport interface, the lower edge looks like a transport. "
Apart from that one, www.osronline.com is always a good starting point about drivers.
"This is an network driver interface specification (NDIS) 4.0 intermediate driver sample. This sample is designed to layer in between the installed transports and the installed miniports. Currently, this sample only receives packets and passes them on to lower layers. The upper edge of this sample is a miniport interface, the lower edge looks like a transport. "
Apart from that one, www.osronline.com is always a good starting point about drivers.
ASKER
Hi, Yes I have the latest DDK and the samples that come with it but even the simplest of these is thousands of lines of code. I can't get my head around these samples. I just want to learn how to write a simple hello world protocol driver with visual studio prefferably and take it from there.
I think i have to start by setting up visual studio, then to write
- One a .cpp and .h file with the relevant driver fundtions DriverEntry etc.
- Possibly a sources file for the DDKBUILD util
- An inf file and also some code that will install it programmatically
I know theres a lot of steps missing but basically I was wondering if anyone knew all the steps envolved or perhaps even point to a good walkthrough
I think i have to start by setting up visual studio, then to write
- One a .cpp and .h file with the relevant driver fundtions DriverEntry etc.
- Possibly a sources file for the DDKBUILD util
- An inf file and also some code that will install it programmatically
I know theres a lot of steps missing but basically I was wondering if anyone knew all the steps envolved or perhaps even point to a good walkthrough
>>perhaps even point to a good walkthrough
HAve you checked OSRonline? http://www.osronline.com/section.cfm?id=26 ("The Basics") and especially http://www.osronline.com/article.cfm?id=20 ("Getting Started Writing Windows Drivers") offer such a walkthrough.
HAve you checked OSRonline? http://www.osronline.com/section.cfm?id=26 ("The Basics") and especially http://www.osronline.com/article.cfm?id=20 ("Getting Started Writing Windows Drivers") offer such a walkthrough.
ASKER
Hmm not much of a walkthrough more a basic faq. The question I really wanted elaborated was
Q8 How Do I Start Cranking Code?
Get the source code sample driver for a device of similar type to the one that you need to support. Assuming your license allows it, start by modifying this driver.
ie start off from a sample. I guess this is what I'm going to have to do. Just pick a sample and go through it line by line to see if I can understand it, so I can start modifying it. Doesn't look like people start writing drivers from scratch?
Q8 How Do I Start Cranking Code?
Get the source code sample driver for a device of similar type to the one that you need to support. Assuming your license allows it, start by modifying this driver.
ie start off from a sample. I guess this is what I'm going to have to do. Just pick a sample and go through it line by line to see if I can understand it, so I can start modifying it. Doesn't look like people start writing drivers from scratch?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
IMSamp.exe: NDIS 4.0 Intermediate Driver Sample
http://support.microsoft.com/default.aspx?scid=kb;en-us;178322&Product=ddk
Ntpacket.exe: Updated Windows NT 4.0 NDIS 3.0 Packet Sample Available
http://support.microsoft.com/default.aspx?scid=kb;en-us;238652&Product=ddk
Device Driver Development for Microsoft® Windows®
http://chsw.com/ddk/