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 掩码来确定驱动器是否支持特定功能。 可用的掩码如下所示:
面具 | 意义 |
---|---|
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 掩码来确定驱动器是否支持特定功能。
面具 | 意义 |
---|---|
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
指示磁带末尾的早期警告区域的大小(以字节为单位)。 设备进入区域时返回检查条件。
要求
要求 | 价值 |
---|---|
标头 | ntddtape.h(包括 Ntddtape.h、Minitape.h) |