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
布尔值,当 TRUE时,指示 CD-ROM 类驱动程序使 CD-ROM 驱动器在其默认轴速下运行。 值为 FALSE 指示类驱动程序从 ReadSize、ReadTime、WriteSize以及 WriteTime 成员计算轴速度。
SetExact
布尔值,当 TRUE时,指示 CD-ROM 类驱动程序将 CD-ROM 驱动器设置为 ReadSize指定的确切速度、ReadTime、WriteSize,以及 WriteTime 此结构的成员。 如果类驱动程序无法将轴速设置为这些成员指定的确切值,则请求将失败。 SetExact 中 FALSE 的值指示类驱动程序尽可能快地使驱动器的轴速与 ReadSize、ReadTime、WriteSize和 WriteTime指定的速度相匹配;如果驱动器无法以这些成员指定的确切值运行,则类驱动程序不会使请求失败。
RandomAccess
布尔值,当 TRUE时,指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以便它将在读取和写入作之间来回切换,以最大程度地提高性能(数据吞吐量),即使在读取和写入作之间切换会导致特定的读取或写入作更慢。 换句话说,RandomAccess 中 TRUE 的值允许驱动器降低某些单个读取和写入作的速度,以确保数据传输的整体性能更好。 FALSE 的值指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以确保读取和写入作的速度彼此独立。 每个作的数据传输速率是刚性的,驱动器不会改变速度来实现性能提升。
Persistent
布尔值,当 TRUE时,指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以在用户更改媒体时还原默认速度。 值为 FALSE 指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器以保持其速度,直到计算机重启或类驱动程序使用另一个命令更改速度。
要求
要求 | 价值 |
---|---|
标头 | ntddcdrm.h (包括 Ntddcdrm.h) |