When you issue a cancel on a channel, the driver checks the
I/O queue of the channel, flushes any queued requests, and returns
them with a status of SS$_CANCEL. Any pending I/O to the pipe is aborted
using the USB abort pipe code. In that situation, the status in the
I/O status block is SS$_ABORT, and the second longword has the status
that is returned from the aborted I/O.
If you deassign a channel, the association between the channel
number and the pipe is broken. Deassigning the channel does not close
the pipe. The pipes are closed only when the device is unplugged.
Therefore, you can reuse a device without unplugging it from the system
and plugging it back in.