Instance Property


Issues a SET_CD_SPEED command to the device as defined in MMC-2.


IOReturn (*SetCDSpeed)(void *self, SCSICmdField2Byte LOGICAL_UNIT_READ_SPEED, SCSICmdField2Byte LOGICAL_UNIT_WRITE_SPEED, SCSITaskStatus *taskStatus, SCSI_Sense_Data *senseDataBuffer);



Pointer to an MMCDeviceInterface for one IOService.


The LOGICAL_UNIT_READ_SPEED field as defined in MMC-2.


The LOGICAL_UNIT_WRITE_SPEED field as defined in MMC-2.


Pointer to a SCSITaskStatus to get the status of the SCSITask which was executed. Valid SCSITaskStatus values are defined in SCSITask.h


Pointer to a buffer the size of the SCSI_Sense_Data struct found in SCSICmds_REQUEST_SENSE_Defs.h. The sense data is only valid if the SCSITaskStatus is kSCSITaskStatus_CHECK_CONDITION.

Return Value

Returns kIOReturnSuccess if successful, kIOReturnNoDevice if there is no connection to an IOService, kIOReturnNoMemory if a SCSITask couldn't be created, or kIOReturnExclusiveAccess if the device is already opened for exclusive access by another client.


Once an MMCDeviceInterface is opened the client may send this command to change the read and/or write CD speed of the drive.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software