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 指示类驱动程序从 ReadSizeReadTimeWriteSize以及 WriteTime 成员计算轴速度。

SetExact

布尔值,当 TRUE时,指示 CD-ROM 类驱动程序将 CD-ROM 驱动器设置为 ReadSize指定的确切速度、ReadTimeWriteSize,以及 WriteTime 此结构的成员。 如果类驱动程序无法将轴速设置为这些成员指定的确切值,则请求将失败。 SetExact FALSE 的值指示类驱动程序尽可能快地使驱动器的轴速与 ReadSizeReadTimeWriteSizeWriteTime指定的速度相匹配;如果驱动器无法以这些成员指定的确切值运行,则类驱动程序不会使请求失败。

RandomAccess

布尔值,当 TRUE时,指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以便它将在读取和写入作之间来回切换,以最大程度地提高性能(数据吞吐量),即使在读取和写入作之间切换会导致特定的读取或写入作更慢。 换句话说,RandomAccessTRUE 的值允许驱动器降低某些单个读取和写入作的速度,以确保数据传输的整体性能更好。 FALSE 的值指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以确保读取和写入作的速度彼此独立。 每个作的数据传输速率是刚性的,驱动器不会改变速度来实现性能提升。

Persistent

布尔值,当 TRUE时,指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器,以在用户更改媒体时还原默认速度。 值为 FALSE 指示 CD-ROM 类驱动程序配置 CD-ROM 驱动器以保持其速度,直到计算机重启或类驱动程序使用另一个命令更改速度。

要求

要求 价值
标头 ntddcdrm.h (包括 Ntddcdrm.h)

另请参阅

CDROM_SET_SPEED

CDROM_SPEED_REQUEST

IOCTL_CDROM_SET_SPEED

WRITE_ROTATION