IOCTL_CDROM_SEND_OPC_INFORMATION IOCTL (ntddcdrm.h)
Код управления IOCTL_CDROM_SEND_OPC_INFORMATION можно использовать в файловых системах и других реализациях, которые хотят выполнить оптимальную процедуру калибровки питания (OPC), чтобы первая потоковая запись не должна ждать завершения процедуры. Оптический диск выполняет процедуру OPC, чтобы определить оптимальную мощность лазера во время записи. Процедура необходима для обеспечения качества, но она носит носитель и не должна выполняться слишком часто.
Чтобы выполнить эту операцию, вызовите функцию DeviceIoControl с IOCTL_CDROM_SEND_OPC_INFORMATION в качестве параметра dwIoControlCode.
Основной код
Входной буфер
Длина входного буфера
Длина CDROM_SIMPLE_OPC_INFO.
Выходной буфер
Никакой.
Длина выходного буфера
Никакой.
Блок состояния
В поле Information задано количество возвращаемых байтов.
Из-за распространения кода состояния из других API можно задать для поля состояние (но не ограничено) следующее:
STATUS_INFO_LENGTH_MISMATCH
Длина входного буфера меньше требуемой.
STATUS_INVALID_PARAMETER
Тип запроса не SimpleOpcInfo.
STATUS_SUCCESS
Запрос успешно завершен.
Замечания
IOCTL_CDROM_SEND_OPC_INFORMATION IOCTL — это оболочка по команде SEND OPC INFORMATION спецификации MMC. Поля Exclude0 и Exclude1 напрямую сопоставляют поля SEND OPC INFORMATION с одинаковыми именами.
При сбоях этот IOCTL возвращает стандартные ошибки, такие как STATUS_DEVICE_NOT_READY, STATUS_IO_TIMEOUT, STATUS_IO_DEVICE_ERROR.
Требования
Требование | Ценность |
---|---|
заголовка | ntddcdrm.h (include Winioctl.h) |