IOCTL_CDROM_GET_PERFORMANCE IOCTL (ntddcdrm.h)
Извлекает поддерживаемые скорости с устройства. Запрос IOCTL_CDROM_GET_PERFORMANCE управления вводом-выводом является оболочкой для команды MMC GET PERFORMANCE.
Для выполнения этой операции вызовите функцию DeviceIoControl с IOCTL_CDROM_GET_PERFORMANCE в качестве параметра dwIoControlCode .
Основной код
Входной буфер
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) |