NdisIMDeInitializeDeviceInstance calls an NDIS intermediate driver’s MiniportHalt function to tear down the driver’s virtual NIC.
NDIS_STATUS
NdisIMDeInitializeDeviceInstance(
IN NDIS_HANDLE NdisMiniportHandle
);
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.
Declared in Ndis.h. Include Ndis.h.
For NDIS intermediate drivers, NdisIMDeInitializeDeviceInstance is the reciprocal of NdisIMInitializeDeviceInstance(Ex). Such a driver usually calls NdisIMDeInitializeDeviceInstance(Ex) 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, NdisIMInitializeDeviceInstanceEx, ProtocolUnbindAdapter