FlySwat
FlySwat

Reputation: 175593

Creating a network driver

I'm pretty much a total idiot when it comes to writing hardware drivers, however I'm fairly decent at C/C++.

I have a for fun project I want to work on that is attempting to use a device as a network tether proxy.

What I would like to do is create a driver that appears to be a network driver to windows, but actually sends/receives through a USB port connected to another device.

I have a pretty good idea of what needs to be implemented, but I don't know quite where to start looking for research info.

Any pointers?

Upvotes: 5

Views: 5458

Answers (5)

Ben Schwehn
Ben Schwehn

Reputation: 4565

Apart from the DDK documention, a commonly recommended book is Oney's Programming the Microsoft Windows Driver Model (WDM). Though these days you might be able to just only develop for the newer windows driver foundation (WDF), which greatly reduces efforts in making your driver PnP and power aware.

Then the resources at OSR are great, both for beginners and advanced discussions, including essays, tutorials and mailing lists. OSR also has demo hardware kits to help you get started developing drivers for real devices.

Upvotes: 2

lois
lois

Reputation:

Avoid codeproject (not professional at all) Download the MS DDK with the dozens of samples (professional)

Upvotes: -1

Simon B. Jensen
Simon B. Jensen

Reputation: 978

I haven't gone through it thoroughly yet, but this article seems like a good introduction to programming device drivers in Windows.

EDIT: Read it. It gives a good introduction to device drivers, briefly introducing related concepts and common pitfalls with good external links. Worth reading if you know nothing about drivers.

Upvotes: 3

Steve Fallows
Steve Fallows

Reputation: 6424

Get the DDK It has lots of documentation and sample drivers to start from.

Upvotes: 6

Harper Shelby
Harper Shelby

Reputation: 16585

This article from codeproject is a tutorial on creating a WDM driver. I can't vouch for its correctness, but a quick skim showed a lot of information. It should be a good starting point for research.

Upvotes: 3

Related Questions