The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
In my driver code which is a NDIS miniport driver, i am planning to use Winsockets to send data to the network. This driver will receive data from the NDIS port driver and copy the data to ring buffer (32MB size). This ring buffer will be mapped to a MDL using IoAllocateMDL().
For socket programming, when i checked the documentation of the WskSendTo(), it takes a MDL, Offset and Length embedded in the WSK_BUF structure. Then can i use something like this for the WSK_BUF:
WSK_BUF.Mdl = RingBufMDL (One time initialization)
WSK_BUF.Offset = Offset In the RingBufMDL (Will be updated for every call to WskSendTo())
WSK_BUF.Length = Size of the bytes to be sent from the RingBufMDL
For each call to the WskSendTo(), i will just update the Offset and Length. Basically, i am trying to avoid IoAllocateMDL and IoFreeMDL for each call to WskSendTo() function which takes WSK_BUF. Please advise me on this.
It looks like you're new here. If you want to get involved, click one of these buttons!
|Upcoming OSR Seminars|
|OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!||Kernel Debugging||30 Mar 2020||OSR Seminar Space|
|Developing Minifilters||15 Jun 2020||LIVE ONLINE|
|Writing WDF Drivers||22 June 2020||LIVE ONLINE|
|Internals & Software Drivers||28 Sept 2020||Dulles, VA|