Balancing a Miniport Driver's Workload
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
A miniport driver that previously initialized multiple miniport instances and made those miniport instances members of a bundle can use those miniport instances to balance the driver's workload.
NDIS only exposes the primary miniport instance to transports. If transports request to send packets to a miniport driver or if they request to set or query information in a miniport driver, NDIS will pass these requests to the primary miniport instance. To balance the miniport driver's workload, the driver should be implemented to offload some of these requests to secondary miniport instances. If the miniport driver requires secondary miniport instances to perform tasks that are associated with requests, the driver can reroute those requests to the secondary miniport instances. The miniport driver should use the handle to the primary miniport instance to subsequently complete those requests, regardless of whether the primary or a secondary miniport instance actually executes the requests.
However, if NDIS sends a request to a secondary miniport instance, that secondary miniport instance should use the handle to itself to complete the request.