NDIS Protocol Driver Lower-Edge Functions (Windows Embedded CE 6.0)


NDIS protocol drivers and layered miniport drivers export a set of lower-edge functions that share Protocol as a common prefix.

NDIS-defined driver functions can have any name that the driver writer chooses. For easy debugging, most system-supplied protocols substitute a driver-specific prefix for the Protocol prefix that is used in this documentation.

The following table shows the NDIS driver functions that have the Protocol prefix.

Function Description


This is a required driver function to support Plug and Play.


Completes the processing of an unbinding operation for which the NdisCloseAdapter function returned NDIS_STATUS_PENDING.


Completes the processing of a binding operation for which NdisOpenAdapter returned NDIS_STATUS_PENDING.


Required for NDIS protocols that bind to network adapter drivers. This function determines whether a received network packet is of interest to the protocol's clients and, if so, copies the indicated data and can call the NdisTransferData function to retrieve the remaining indicated network packet.


Completes post-processing of one or more of the preceding receive indications from a network adapter driver.


Processes receive indications that are made by underlying connectionless network adapter drivers that call the NdisMIndicateReceivePacket function either with packet arrays, because the underlying driver supports multipacket receive indications, or with individual packets that have out of bound data (OOB) information associated with them. Loopback can cause a call to ProtocolReceivePacket.


Completes the processing of a protocol-initiated query or set operation for which the NdisRequest function returned NDIS_STATUS_PENDING.


Completes the processing of a protocol-initiated reset operation for which the NdisReset function returned NDIS_STATUS_PENDING.


Completes the processing of a protocol-initiated send operation that previously was passed to the NdisSend function, which returned NDIS_STATUS_PENDING.


Handles status-change notifications that are raised by an underlying connectionless network adapter driver or by NDIS.


Completes a status-change operation that was initiated when the underlying driver called the NdisMIndicateStatus function.


This is a required driver function if the protocol might bind itself to an underlying connectionless network adapter driver that does not indicate full-packet receives with the NdisMIndicateReceivePacket function. ProtocolTransferDataComplete completes the processing of a protocol-initiated transfer-data request for which the NdisTransferData function returned NDIS_STATUS_PENDING.


This is a required function to support Plug and Play.

See Also


Intermediate Drivers