Hardware Dev Center

IOCTL_CDROM_SEND_OPC_INFORMATION control code

The IOCTL_CDROM_SEND_OPC_INFORMATION control code can be used in file systems and other implementations that want to perform the Optimum Power Calibration (OPC) procedure in advance, so that the first streaming write does not have to wait for the procedure to finish. The optical drive performs the OPC procedure to determine the optimum power of the laser during write. The procedure is necessary to ensure quality, but it wears out the media and should not be performed too often.

To perform this operation, call the DeviceIoControl function with IOCTL_CDROM_SEND_OPC_INFORMATION as the dwIoControlCode parameter.

Input Parameters

CDROM_SIMPLE_OPC_INFO

Output Parameters

None.

I/O Status Block

The Information field is set to the number of bytes returned.

Because of status code propagation from other APIs, the Status field can be set to (but is not limited to) the following:

STATUS_SUCCESS

The request completed successfully.

STATUS_INFO_LENGTH_MISMATCH

The input buffer length is smaller than required.

STATUS_INVALID_PARAMETER

The request type is not SimpleOpcInfo.

Remarks

The IOCTL_CDROM_SEND_OPC_INFORMATION IOCTL is a wrapper over the SEND OPC INFORMATION command of the MMC specification. The Exclude0 and Exclude1 fields directly map to the SEND OPC INFORMATION fields with the same names. On failures, this IOCTL returns standard errors, such as STATUS_DEVICE_NOT_READY, STATUS_IO_TIMEOUT, STATUS_IO_DEVICE_ERROR.

Requirements

Header

Winioctl.h (include Winioctl.h)

See also

DeviceIoControl
CDROM_SIMPLE_OPC_INFO
IOCTL_CDROM_SEND_OPC_INFORMATION

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft