Serialized drivers rely on NDIS to sequence calls to miniport functions and to manage send queues. Deserialized miniport drivers internally queue all incoming send packets rather than using NDIS. The NDIS wrapper also calls the ProtocolXxx functions for its own purposes or on behalf of lower-level drivers to indicate up received packets, indicate the status of lower-level drivers … NDIS protocols driver are often used to inject or capture packets on the network. For more information about porting drivers, see: Checks to see if the miniport is hung.
|Date Added:||18 October 2008|
|File Size:||67.11 Mb|
|Operating Systems:||Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X|
|Price:||Free* [*Free Regsitration Required]|
Serialized NDIS Miniport Drivers
A deserialized miniport driver should complete send requests in the protocol-determined order. A deserialized miniport driver must identify itself as such to NDIS during initialization. The later is a small piece of code surrounding all types of the NDIS device drivers. Our new feedback system is built on GitHub Issues. Ignoring halt device failure! Versions starting from 2. CheckForHangSeconds.
The NDIS library exports a full set of functions NdisM Xxx and other Ndis Xxx functions that encapsulate all of the operating system functions that a miniport driver must call. This is VERY unoptimal! If a deserialized miniport driver cannot immediately complete send requests, it cannot return the requests to NDIS for requeuing. Indicate received data to bound protocols. Connection-oriented miniport drivers are always deserialized and a connection must be established between two points before data can be exchanged.
We’d love to hear your thoughts. Connectionless miniport drivers are further divided into deserialized and serialized drivers:. Next sections will describe most common NDIS driver types as illustrated in the following simplified diagram: An intermediate driver is inserted just above miniport drivers and just below transport protocols in the overall networking protocol stack allowing incoming and outgoing packets filtering, inspection or modification.
Forwards a message to the initiating protocol saying. NDIS minipirt passes the packet to the miniport driver by calling the appropriate MiniportXxx function exported by the miniport driver. No upper protocol layer.
As a result, a deserialized miniport driver can achieve significantly better full-duplex performance than a serialized miniport driver. LockOldIrql. Handle the PnP start device event. Product feedback Sign in to give documentation feedback. Pointer to a bugcheck callback context. Sends a request to a miniport. Feedback We’d love to hear your thoughts.
Serialized NDIS Miniport Drivers – Windows drivers | Microsoft Docs
Serialized drivers rely on NDIS to sequence calls to miniport functions and to manage send queues. Handle originally passed into MiniportInitialize. The following send and receive operations illustrate the interaction of miniport drivers with NDIS and with higher-level drivers:.
Instead, the miniport driver must queue internally all send requests minioort sufficient resources are available to send the data. Miniport handle for the adapter. Handle the PnP stop device event.
Queries miniport for information. A deserialized miniport driver must protect its network buffer queues with spin locks. The miniport driver then forwards the packet to the NIC for transmission by calling the appropriate Ndis Xxx functions.