It sounds like you want to implement your own IP stack, which isn’t just “a simple NDIS protocol driver”. But there’s no need to endure the complexity of writing an NDIS protocol driver (you’d have to reimplement buckets of code that TCPIP already implements). Just write a Winsock Kernel (WSK) client – it’s simpler. But if all you’re doing is writing a winsock client, there’s no need to write it in kernel mode. Just write a usermode app instead – it’s simpler.
In other words, there is nothing in your description below that requires you to enter kernel mode. Furthermore, if you do need to write a driver for some reason, an NDIS protocol driver might very well be the wrong layer to start at.
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Thomas F. Divine
Sent: Thursday, December 02, 2010 12:09 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Network protocol Driver to have RAW_SOCKET support
It Raw Sockets is sufficient for your needs then one possibility is for you to write a user-mode service running under the local system account. The service should have privileges necessary to user Raw Sockets. If interaction with a user-mode application is required, then a pipe can be used. The pipe can be defined with less restrictive (non-admin) access restrictions. This has the advantage of being a completely user-mode implementation debuggable with Visual Studio.
If you still want to go the NDIS protocol route, then the WDK includes the NDISPROT sample protocol drivers. They have a fairly simple I/O interface.
As last resort, visit http://www.rawether.net.
In all cases you will need admin privileges at some point. The two approaches mentioned above restrict need for admin privileges to install time only.
Good luck!
Thomas F. Divine
http://www.pcausa.com
From:
Sent: Thursday, December 02, 2010 2:01 PM
To: “Windows System Software Devs Interest List”
Subject: [ntdev] Network protocol Driver to have RAW_SOCKET support
> Hi,
>
> Windows give Raw socket support in Vista/Win but that needs admin
> privileges. That’s why I’ve planned to write a simple NDIS protocol
> Driver to support raw sockets.
>
> The plan is to write API that would help client application to
> implement their own network protocol and let them use Raw Sockets
> without having need of admin privileges on Vista/Win 7.
>
> Can you suggest How can I get started.
>
> Munir
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
—
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer