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 структуру, за которой следует необязательный дескриптор. Дескриптор после этого заголовка зависит от значения в поле За исключением структуры CDROM_PERFORMANCE_HEADER. Если кроме имеет значение false, используется CDROM_NOMINAL_PERFORMANCE_DESCRIPTOR; в противном случае используется CDROM_EXCEPTION_PERFORMANCE_DESCRIPTOR.

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

Длина CDROM_PERFORMANCE_HEADER.

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

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

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

STATUS_BUFFER_TOO_SMALL

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

STATUS_INFO_LENGTH_MISMATCH

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

STATUS_INVALID_DEVICE_REQUEST

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

STATUS_INVALID_PARAMETER

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

STATUS_SUCCESS

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

Требования

Требование Ценность
заголовка ntddcdrm.h (include Winioctl.h)

См. также

CDROM_PERFORMANCE_HEADER

CDROM_PERFORMANCE_REQUEST

CDROM_WRITE_SPEED_REQUEST

DeviceIoControl