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


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

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

Синтаксис

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

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

SetExact

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

RandomAccess

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

Persistent

Логическое значение, которое, когда TRUE, указывает драйверу класса CD-ROM настроить диск CD-ROM для восстановления скорости по умолчанию при изменении носителя пользователем. Значение FALSE указывает драйверу класса CD-ROM настроить диск CD-ROM для поддержания скорости, пока компьютер не перезагрузится или драйвер класса изменяет скорость с другой командой.

Требования

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

См. также

CDROM_SET_SPEED

CDROM_SPEED_REQUEST

IOCTL_CDROM_SET_SPEED

WRITE_ROTATION