IOCTL_CDROM_GET_PERFORMANCE IOCTL (ntddcdrm.h)

Извлекает поддерживаемые скорости с устройства. Запрос IOCTL_CDROM_GET_PERFORMANCE управления вводом-выводом является оболочкой для команды MMC GET PERFORMANCE.

Для выполнения этой операции вызовите функцию DeviceIoControl с IOCTL_CDROM_GET_PERFORMANCE в качестве параметра dwIoControlCode .

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

CDROM_PERFORMANCE_REQUEST запрашивает данные о производительности. CDROM_WRITE_SPEED_REQUEST запрашивает дескриптор скорости записи.

Длина входного буфера

Длина CDROM_PERFORMANCE_REQUEST.

Выходной буфер

Для типа запроса CdromWriteSpeedRequest этот IOCTL возвращает структуру CDROM_PERFORMANCE_HEADER , за которой следует ряд дескрипторов CDROM_WRITE_SPEED_DESCRIPTOR.

Для типа запроса CdromPerformanceRequest этот IOCTL возвращает структуру CDROM_PERFORMANCE_HEADER , за которой следует необязательный дескриптор. Дескриптор после этого заголовка зависит от значения в поле Except структуры CDROM_PERFORMANCE_HEADER . Если значение Except имеет значение false, используется CDROM_NOMINAL_PERFORMANCE_DESCRIPTOR; в противном случае используется CDROM_EXCEPTION_PERFORMANCE_DESCRIPTOR.

Длина выходного буфера

Длина CDROM_PERFORMANCE_HEADER.

Блок состояния

В поле Сведения задано количество возвращаемых байтов.

Из-за распространения кода состояния из других API в поле Состояние можно задать (но не ограничивается) следующее:

STATUS_BUFFER_TOO_SMALL

Длина выходного буфера меньше, чем требуется.

STATUS_INFO_LENGTH_MISMATCH

Длина входного буфера меньше, чем требуется.

STATUS_INVALID_DEVICE_REQUEST

Устройство не поддерживает этот запрос.

STATUS_INVALID_PARAMETER

Заголовок CDROM_PERFORMANCE_REQUEST не содержит допустимого сочетания параметров, заданных перечислениями.

STATUS_SUCCESS

Запрос успешно выполнен.

Требования

Требование Значение
Заголовок ntddcdrm.h (включая Winioctl.h)

См. также раздел

CDROM_PERFORMANCE_HEADER

CDROM_PERFORMANCE_REQUEST

CDROM_WRITE_SPEED_REQUEST

DeviceIoControl