IOCTL_CDROM_GET_PERFORMANCE IOCTL

Retrieves the supported speeds from the device. The IOCTL_CDROM_GET_PERFORMANCE I/O control request is a wrapper over the MMC command, GET PERFORMANCE.

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

Major Code

IRP_MJ_DEVICE_CONTROL

Input Buffer

CDROM_PERFORMANCE_REQUEST requests performance data. CDROM_WRITE_SPEED_REQUEST requests write speed descriptor.

Input Buffer Length

Length of a CDROM_PERFORMANCE_REQUEST.

Output Buffer

For request type CdromWriteSpeedRequest, this IOCTL returns the CDROM_PERFORMANCE_HEADER structure followed by a number of CDROM_WRITE_SPEED_DESCRIPTOR descriptors.

For request type CdromPerformanceRequest, this IOCTL returns the CDROM_PERFORMANCE_HEADER structure followed by an optional descriptor. The descriptor following this header depends on the value in the Except field of the CDROM_PERFORMANCE_HEADER structure. If Except is false, CDROM_NOMINAL_PERFORMANCE_DESCRIPTOR is used; otherwise, CDROM_EXCEPTION_PERFORMANCE_DESCRIPTOR is used.

Output Buffer Length

Length of a CDROM_PERFORMANCE_HEADER.

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:

Requirements

   
Header ntddcdrm.h (include Winioctl.h)

See Also

CDROM_PERFORMANCE_HEADER

CDROM_PERFORMANCE_REQUEST

CDROM_WRITE_SPEED_REQUEST

DeviceIoControl