Previous Next

NdisIMDeInitializeDeviceInstance

NdisIMDeInitializeDeviceInstance calls an NDIS intermediate driver’s MiniportHalt function to tear down the driver’s virtual NIC.

NDIS_STATUS
  NdisIMDeInitializeDeviceInstance(
    IN NDIS_HANDLE  NdisMiniportHandle
    );

Parameters

NdisMiniportHandle
Specifies the handle originally input to MiniportInitialize.

Return Value

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.

Headers

Declared in Ndis.h. Include Ndis.h.

Comments

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.

See Also

MiniportHalt, NdisIMInitializeDeviceInstance, NdisIMInitializeDeviceInstanceEx, ProtocolUnbindAdapter