Intermediate Driver Binding Operations
When a miniport adapter becomes available, NDIS calls the ProtocolBindAdapterEx function of any intermediate driver that can bind to that miniport adapter.
An intermediate driver must provide the protocol binding operations documented in Binding to an Adapter.
Binding-time actions include allocating and initializing an adapter-specific context area for the binding, initializing any virtual miniports, and calling NdisOpenAdapterEx to bind to the adapter.
Intermediate drivers are not required to allocate separate NET_BUFFER_LIST structure pools for each binding. Intermediate drivers are required to allocate NET_BUFFER_LIST structure pools only if the drivers design requires it to allocate its own structures. Otherwise, the driver can just pass on the structures that it receives from other drivers. Such drivers should allocate different pools for send and receive.
For information about the requirements to allocate and manage network data, see Intermediate Driver Network Data Management.