What to use instead of CheckForHang/Reset in NDIS > 6.82?

The documentation I’ve found discourages use of CFH/Reset starting in 6.83, but doesn’t recommend any replacement strategy.

If I need to reset my miniport driver due to an underlying hardware condition how do I tell NDIS that something is wrong and I need reset? Do I need to to maintain separate implementations based on NDIS version or is there a preferred single solution?

Call NdisMResetMiniport, if you can repair the problem. If you can’t repair the problem, you can coordinate with the bus driver to get a surprise removal. The details depend on the bus. For example, USB provides IOCTL_INTERNAL_USB_CYCLE_PORT (which you’d use only as a last resort, after resetting the pipe fails).