Forced vs. non-forced administrative device removal
Similar to an unmount operation, administrative device removal (devctl offline) can be forced or non-forced. Non-forced removal will fail if there are any clients connected to an exposed function [of some child of a nexus device]. Forced removal must succeed even if there are active clients.
Extend DDF to distinguish between forced an non-forced removal (e.g. by adding a simple flag to the relevant calls).
Ideally all drivers should support both. Forced removal is slightly trickier, because it must succeed at any time, even if the driver is actively processing some transactions.