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 指定了一个时间单位。 ReadSize 中的0xFFFF值选择驱动器的最佳数据传输速度。
ReadTime
读取 ReadSize KB 数据所要读取的毫秒数。
WriteSize
在每一个时间单位中写入的千字节数,其中一个时间单位由 WriteTime 定义。 WriteSize 中的0xFFFF值选择驱动器的最佳数据传输速度。
WriteTime
写入 WriteSize KB 数据所要写入的毫秒数。
StartLba
IOCTL_CDROM_SET_SPEED请求的第一个逻辑块地址(以字节为单位)。
EndLba
IOCTL_CDROM_SET_SPEED请求的最后一个逻辑块地址(以字节为单位)。
RotationControl
WRITE_ROTATION类型的值,该值指示设备是使用 CLV (常量线性速度) 旋转还是 CLA (常量角速度) 旋转写入媒体。
RestoreDefaults
一个 BOOLEAN 值,当 为 TRUE 时,指示 CD-ROM 类驱动程序使其 CD-ROM 驱动器以默认的轴速运行。 FALSE 的值指示类驱动程序从 ReadSize、ReadTime、WriteSize 和 WriteTime 成员计算轴速。
SetExact
一个 BOOLEAN 值,当 为 TRUE 时,指示 CD-ROM 类驱动程序将此结构的 READSize、 ReadTime、 WriteSize 和 WriteTime 成员指定的 CD-ROM 驱动器设置为确切的速度。 如果类驱动程序无法将轴速设置为这些成员指定的确切值,则请求将失败。 SetExact 中的 FALSE 值指示类驱动程序使驱动器的轴速尽可能接近 ReadSize、ReadTime、WriteSize 和 WriteTime 指定的速度:如果驱动器无法按这些成员指定的确切值运行,则类驱动程序不会失败请求。
RandomAccess
一个 BOOLEAN 值,当 为 TRUE 时,指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以便它将在读写操作之间来回切换,以最大程度地提高性能 (数据吞吐量) ,即使在读写操作之间切换会导致特定读取或写入操作更慢。 换句话说,RandomAccess 中的 TRUE 值允许驱动器降低某些单个读取和写入操作的速度,以确保数据传输的整体性能更好。 FALSE 值指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以确保读取和写入操作的速度独立于彼此。 每个操作的数据传输速率是刚性的,驱动器不会改变速度来实现性能提升。
Persistent
一个 BOOLEAN 值,当 为 TRUE 时,指示 CD-ROM 类驱动程序在用户更改媒体时将 CD-ROM 驱动器配置为还原默认速度。 FALSE 值指示 CD-ROM 类驱动程序将 CD-ROM 驱动器配置为保持其速度,直到计算机重启或类驱动程序使用另一个命令更改速度。
要求
Header | ntddcdrm.h (包括 Ntddcdrm.h) |