Two key points in writing a Windows NDIS Miniport Driver with NdisMediumIP

In Windows 7 or later, NDIS miniport driver support NdisMediumIP as its media type. This means the network data sending to or receiving from the network adapter is pure IP packet, without any media frame like an ethernet frame. Everything is OK to write such a miniport driver, except for two points different from traditional…

Access one opened file/device handle from multiple threads in Windows

Windows’ kernel I/O manager will serialize I/O requests automatically if you didn’t have the flag FILE_FLAG_OVERLAPPED in CreateFile() call, as the page http://winprogger.com/multithreaded-synchronous-io-must-be-asynchronous/comment-page-1/#comment-59075 described. This fact haven’t be mentioned in M$’s documentation, and there is few information about this on the web. Conclusion. If you want to Open a handle and access it from multiple…