TAPE_GET_DRIVE_PARAMETERS 结构 (ntddtape.h)
TAPE_GET_DRIVE_PARAMETERS 结构与 IOCTL_TAPE_GET_DRIVE_PARAMS 请求结合使用,以检索有关磁带驱动器功能的信息。
语法
typedef struct _TAPE_GET_DRIVE_PARAMETERS {
BOOLEAN ECC;
BOOLEAN Compression;
BOOLEAN DataPadding;
BOOLEAN ReportSetmarks;
ULONG DefaultBlockSize;
ULONG MaximumBlockSize;
ULONG MinimumBlockSize;
ULONG MaximumPartitionCount;
ULONG FeaturesLow;
ULONG FeaturesHigh;
ULONG EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;
成员
ECC
设置为 TRUE 时,指示设备使用硬件错误更正。
Compression
设置为 TRUE 时,指示在支持压缩的设备上启用压缩。 启用压缩后,设备会先压缩数据,然后再写入数据。 设置为 FALSE 时,不会在设备上启用压缩。
DataPadding
设置为 TRUE 时,指示在支持数据填充的设备上启用了数据填充。 启用填充后,设备会用零填充数据,以保持磁带流式传输,直到数据准备就绪。 设置为 FALSE 时,不会启用数据填充。
ReportSetmarks
设置为 TRUE 时,指示在支持报告设置标记的设备上已启用。 设备报告在读取或空间操作期间遇到的设置标记。 如果设置为 FALSE,则不启用报告设置标记。
DefaultBlockSize
指示默认块大小(以字节为单位)。
MaximumBlockSize
指示磁带设备或基础主机总线适配器 (HBA) 的最大块大小(以字节为单位),以较小者为准。
MinimumBlockSize
指示最小块大小(以字节为单位)。
MaximumPartitionCount
指示设备支持的最大分区数。
FeaturesLow
指示此驱动器支持的功能。 微型端口驱动程序为驱动器支持的功能设置TAPE_DRIVE_XXX 标志,并为不支持的功能清除标志。 调用方可以使用 minitape.h 中定义的 TAPE_DRIVE_XXX 掩码来确定驱动器是否支持特定功能。 可用的掩码如下所示:
Mask | 含义 |
---|---|
TAPE_DRIVE_CLEAN_REQUESTS | 设备可以报告是否需要清洁。 |
TAPE_DRIVE_COMPRESSION | 设备支持硬件数据压缩。 |
TAPE_DRIVE_ECC | 设备支持硬件错误更正。 |
TAPE_DRIVE_EJECT_MEDIA | 设备弹出介质。 |
TAPE_DRIVE_EOT_WZ_SIZE | 设备可以报告区域结束警告大小。 |
TAPE_DRIVE_ERASE_BOP_ONLY | 设备仅从分区开头标记执行擦除操作。 |
TAPE_DRIVE_ERASE_IMMEDIATE | 设备执行立即擦除操作?? 也就是说,它在擦除操作开始时返回 。 |
TAPE_DRIVE_ERASE_LONG | 设备执行长时间擦除操作。 |
TAPE_DRIVE_ERASE_SHORT | 设备执行短时间擦除操作。 |
TAPE_DRIVE_FIXED | 设备创建固定数据分区。 |
TAPE_DRIVE_FIXED_BLOCK | 设备支持固定长度块模式。 |
TAPE_DRIVE_INITIATOR | 设备创建发起方定义的分区。 |
TAPE_DRIVE_GET_ABSOLUTE_BLK | 设备提供当前特定于设备的块地址。 |
TAPE_DRIVE_GET_LOGICAL_BLK | 设备提供当前逻辑块地址 (和逻辑磁带分区) 。 |
TAPE_DRIVE_PADDING | 设备支持数据填充。 |
TAPE_DRIVE_REPORT_SMKS | 设备支持设置标记报告。 |
TAPE_DRIVE_RESERVED_BIT | 标识保留位的掩码。 驱动程序不得设置此位。 |
TAPE_DRIVE_SELECT | 设备创建选择的数据分区。 |
TAPE_DRIVE_SET_CMP_BOP_ONLY | 设备仅允许在读/写头位于分区开头时启用压缩。 |
TAPE_DRIVE_SET_EOT_WZ_SIZE | 设备支持设置中端警告大小。 |
TAPE_DRIVE_TAPE_CAPACITY | 设备返回磁带的最大容量。 |
TAPE_DRIVE_TAPE_REMAINING | 设备返回磁带的剩余容量。 |
TAPE_DRIVE_VARIABLE_BLOCK | 设备支持可变长度块模式。 |
TAPE_DRIVE_WRITE_PROTECT | 如果磁带已启用写或写保护,则设备将返回错误。 |
FeaturesHigh
如果在 FeaturesLow 中设置了TAPE_DRIVE_HIGH_FEATURES,则指示此驱动器支持的其他功能。 微型端口驱动程序为驱动器支持的功能设置TAPE_DRIVE_XXX 标志,并为不支持的功能清除标志。 调用方可以使用 minitape.h 中定义的 TAPE_DRIVE_XXX 掩码来确定驱动器是否支持特定功能。
Mask | 含义 |
---|---|
TAPE_DRIVE_ABS_BLK_IMMED | 设备将磁带移动到特定于设备的块地址,并在移动开始后立即返回。 |
TAPE_DRIVE_ABSOLUTE_BLK | 设备将磁带移动到设备特定的块地址。 |
TAPE_DRIVE_END_OF_DATA | 设备将磁带移动到分区中的数据结束标记。 |
TAPE_DRIVE_FILEMARKS | 设备将磁带向前移动 (或向后移动) 指定数量的文件标记。 |
TAPE_DRIVE_FORMAT | 设备可以格式化媒体。 |
TAPE_DRIVE_FORMAT_IMMEDIATE | 设备可以将媒体格式化为即时命令。 |
TAPE_DRIVE_HIGH_FEATURES | 一个位掩码,指示对应于高特征的位。 |
TAPE_DRIVE_LOAD_UNLOAD | 设备启用和禁用设备以执行进一步操作。 |
TAPE_DRIVE_LOAD_UNLD_IMMED | 设备支持即时加载和卸载操作。 |
TAPE_DRIVE_LOCK_UNLOCK | 设备启用和禁用磁带弹出机制。 |
TAPE_DRIVE_LOCK_UNLK_IMMED | 设备支持立即锁定和解锁操作。 |
TAPE_DRIVE_LOG_BLK_IMMED | 设备将磁带移动到分区中的逻辑块地址,并在移动开始后立即返回。 |
TAPE_DRIVE_LOGICAL_BLK | 设备将磁带移动到分区中的逻辑块地址。 |
TAPE_DRIVE_RELATIVE_BLKS | 设备将磁带向前移动 (或向后移动) 指定数量的块。 |
TAPE_DRIVE_REVERSE_POSITION | 设备将磁带向后移动到块、文件标记或设置标记上。 |
TAPE_DRIVE_REWIND_IMMEDIATE | 设备支持立即回退操作。 |
TAPE_DRIVE_SEQUENTIAL_FMKS | 设备将磁带向前移动 (或向后移动) 指定数量的连续文件标记的第一个匹配项。 |
TAPE_DRIVE_SEQUENTIAL_SMKS | 设备将磁带向前移动 (或向后移动) 到指定数量的连续设置标记的第一个匹配项。 |
TAPE_DRIVE_SET_BLOCK_SIZE | 设备支持设置固定长度逻辑块的大小或设置可变长度块模式。 |
TAPE_DRIVE_SET_COMPRESSION | 设备启用和禁用硬件数据压缩。 |
TAPE_DRIVE_SET_ECC | 设备启用和禁用硬件错误更正。 |
TAPE_DRIVE_SET_PADDING | 设备启用和禁用数据填充。 |
TAPE_DRIVE_SET_REPORT_SMKS | 设备启用和禁用设置标记的报告。 |
TAPE_DRIVE_SETMARKS | 设备将磁带向前移动 (或反向移动) 指定数量的设置标记。 |
TAPE_DRIVE_SPACE_IMMEDIATE | 设备支持即时间距。 |
TAPE_DRIVE_TENSION | 设备支持磁带张紧。 |
TAPE_DRIVE_TENSION_IMMED | 设备支持立即张紧磁带。 |
TAPE_DRIVE_WRITE_FILEMARKS | 设备写入文件标记。 |
TAPE_DRIVE_WRITE_LONG_FMKS | 设备写入长文件标记。 |
TAPE_DRIVE_WRITE_MARK_IMMED | 设备支持立即写入短文件和长文件标记。 |
TAPE_DRIVE_WRITE_SETMARKS | 设备写入设置标记。 |
TAPE_DRIVE_WRITE_SHORT_FMKS | 设备写入短文件标记。 |
EOTWarningZoneSize
指示磁带末尾的早期警告区域的大小(以字节为单位)。 设备在进入区域时返回检查条件。
要求
要求 | 值 |
---|---|
Header | ntddtape.h (包括 Ntddtape.h、Minitape.h) |