Intermediate Driver Unbinding Operations (NDIS 5.1)

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.

An intermediate driver unbinds from an underlying miniport driver by calling NdisCloseAdapterfrom its ProtocolUnbindAdapterfunction. NDIS calls ProtocolUnbindAdapterif the underlying NIC is no longer available.

An intermediate driver's ProtocolUnbindAdapterfunction might be called when the driver has an outstanding call to NdisIMInitializeDeviceInstanceEx. This situation occurs when NDIS has not yet called MiniportInitializeto initialize the corresponding virtual miniports. In this case, the intermediate driver must call NdisIMCancelInitializeDeviceInstanceto attempt to cancel the initialization of these virtual miniports.

If the underlying miniport driver binding that is being closed is mapped to a device exported by the intermediate driver, and if that device was initialized by calling NdisIMInitializeDeviceInstanceEx, the intermediate driver can call NdisIMDeInitializeDeviceInstanceto close the device. The result is that the intermediate driver's virtual miniport becomes no longer available for sends or requests made by higher-level drivers.

After an intermediate driver calls NdisCloseAdapter, it should fail any send requests for that binding with an appropriate error status.

For additional information about intermediate driver unbinding operations, see Protocol Driver Unbinding Operations.

 

 

Send comments about this topic to Microsoft