Поделиться через


структура CDROM_SET_STREAMING (ntddcdrm.h)

Структура CDROM_SET_SPEED используется с запросом IOCTL_CDROM_SET_SPEED для установки скорости шпинделя дисковода компакт-дисков во время изохронной передачи, которая допускает некоторую потерю данных.

Синтаксис

typedef struct _CDROM_SET_STREAMING {
  CDROM_SPEED_REQUEST RequestType;
  ULONG               ReadSize;
  ULONG               ReadTime;
  ULONG               WriteSize;
  ULONG               WriteTime;
  ULONG               StartLba;
  ULONG               EndLba;
  WRITE_ROTATION      RotationControl;
  BOOLEAN             RestoreDefaults;
  BOOLEAN             SetExact;
  BOOLEAN             RandomAccess;
  BOOLEAN             Persistent;
} CDROM_SET_STREAMING, *PCDROM_SET_STREAMING;

Члены

RequestType

CDROM_SPEED_REQUEST типизированное значение, указывающее, какая мультимедийная команда будет использоваться при настройке скорости шпинделя.

ReadSize

Количество килобайт для чтения в каждой единице времени, где единица времени задается параметром ReadTime. Значение 0xFFFF в ReadSize выбирает оптимальную скорость передачи данных диска.

ReadTime

Количество миллисекундах, в которых считывается readSize килобайт данных.

WriteSize

Количество килобайт для записи в каждой единице времени, где единица времени определяется параметром WriteTime. Значение 0xFFFF в WriteSize выбирает оптимальную скорость передачи данных диска.

WriteTime

Количество миллисекундах для записи килобайт данных WriteSize .

StartLba

Первый адрес логического блока запроса IOCTL_CDROM_SET_SPEED в байтах.

EndLba

Адрес последнего логического блока запроса IOCTL_CDROM_SET_SPEED в байтах.

RotationControl

WRITE_ROTATION типизированное значение, указывающее, будет ли устройство записывать данные на носитель с помощью вращения CLV (постоянная линейная скорость) или CLA (постоянная угловая скорость).

RestoreDefaults

Значение BOOLEAN, которое, если значение TRUE, указывает драйверу класса CD-ROM, что дисковод компакт-дисков работает со скоростью шпинделя по умолчанию. Значение FALSE указывает драйверу класса вычислить скорость шпинделя из элементов ReadSize, ReadTime, WriteSize и WriteTime этой структуры.

SetExact

Значение BOOLEAN, которое при значении TRUE указывает драйверу класса CD-ROM установить для диска КОМПАКТ-дисков точное значение скорости, указанной элементами ReadSize, ReadTime, WriteSize и WriteTime этой структуры. Если драйвер класса не может задать для скорости шпинделя точное значение, указанное этими элементами, запрос завершается ошибкой. Значение FALSE в SetExact указывает драйверу класса, чтобы скорость шпинделя диска максимально соответствовала скорости, указанной в параметрах ReadSize, ReadTime, WriteSize и WriteTime; Драйвер класса не завершает запрос, если диск не может выполняться с точным значением, указанным этими членами.

RandomAccess

Значение BOOLEAN, которое при значении TRUE указывает драйверу класса CD-ROM настроить дисковод компакт-дисков, чтобы он переключаться между операциями чтения и записи, чтобы максимизировать производительность (пропускную способность данных), даже если переключение между операциями чтения и записи приводит к более медленному выполнению определенной операции чтения или записи. Другими словами, значение TRUE в RandomAccess позволяет диску снизить скорость некоторых отдельных операций чтения и записи, чтобы обеспечить более высокую общую производительность при передаче данных. Значение FALSE указывает драйверу класса CD-ROM настроить дисковод компакт-дисков таким образом, чтобы гарантировать скорость операций чтения и записи независимо друг от друга. Скорость передачи данных для каждой операции является жесткой, и диск не изменит скорость для достижения повышения производительности.

Persistent

Значение BOOLEAN, которое при значении TRUE указывает драйверу класса CD-ROM настроить дисковод компакт-дисков для восстановления скорости по умолчанию при изменении носителя. Значение FALSE указывает драйверу класса CD-ROM настроить дисковод КОМПАКТ-дисков таким образом, чтобы он поддерживал его скорость до перезагрузки компьютера или до тех пор, пока драйвер класса не изменит скорость с помощью другой команды.

Требования

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

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

CDROM_SET_SPEED

CDROM_SPEED_REQUEST

IOCTL_CDROM_SET_SPEED

WRITE_ROTATION