The IOCDBlockStorageDevice class is a generic CD block storage device abstraction.
This class is the protocol for generic CD functionality, independent of the physical connection protocol (e.g. SCSI, ATA, USB).
The APIs are the union of CD (block storage) data APIs and all necessary low-level CD APIs.
A subclass implements relay methods that translate our requests into calls to a protocol- and device-specific provider.