NDIS_STATUS
NdisIMDeInitializeDeviceInstance(
IN NDIS_HANDLE NdisMiniportHandle
);
NdisIMDeInitializeDeviceInstance calls an NDIS intermediate driver’s MiniportHalt function to tear down the driver’s virtual NIC.
NdisIMDeInitializeDeviceInstance returns NDIS_STATUS_SUCCESS if the NIC has been torn down. Otherwise, it can return NDIS_STATUS_FAILURE if the given NdisMiniportHandle is invalid.
For NDIS intermediate drivers, NdisIMDeInitializeDeviceInstance is the reciprocal of NdisIMInitializeDeviceInstance. Such a driver usually calls NdisIMDeInitializeDeviceInstance from its ProtocolUnbindAdapter function, when the underlying NIC to which it was bound is being removed from the system, possibly because it is being reconfigured.
The call to NdisIMDeInitializeDeviceInstance causes a call to the intermediate driver's MiniportHalt function after NDIS has told all higher level protocols that had bound themselves to the intermediate's virtual NIC that they must unbind.
Callers of NdisIMDeInitializeDevice instance run at IRQL PASSIVE_LEVEL.
MiniportHalt, NdisIMInitializeDeviceInstance, ProtocolUnbindAdapter