winnt.h) (TAPE_GET_DRIVE_PARAMETERS结构

TAPE_GET_DRIVE_PARAMETERS结构描述磁带驱动器。 它由 GetTapeParameters 函数使用。

语法

typedef struct _TAPE_GET_DRIVE_PARAMETERS {
  BOOLEAN ECC;
  BOOLEAN Compression;
  BOOLEAN DataPadding;
  BOOLEAN ReportSetmarks;
  DWORD   DefaultBlockSize;
  DWORD   MaximumBlockSize;
  DWORD   MinimumBlockSize;
  DWORD   MaximumPartitionCount;
  DWORD   FeaturesLow;
  DWORD   FeaturesHigh;
  DWORD   EOTWarningZoneSize;
} TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS;

成员

ECC

如果此成员为 TRUE,则设备支持硬件错误更正。 否则,它不具有该属性。

Compression

如果此成员为 TRUE,则启用硬件数据压缩。 否则,将禁用它。

DataPadding

如果此成员为 TRUE,则启用数据填充。 否则,将禁用它。 数据填充使磁带以恒定的速度进行流式处理。

ReportSetmarks

如果此成员为 TRUE,则启用 setmark 报告。 否则,将禁用它。

DefaultBlockSize

设备的默认固定块大小(以字节为单位)。

MaximumBlockSize

设备的最大块大小(以字节为单位)。

MinimumBlockSize

设备的最小块大小(以字节为单位)。

MaximumPartitionCount

可在设备上创建的最大分区数。

FeaturesLow

设备功能标志的低序位。 此成员可以是以下一个或多个值。

Value 含义
TAPE_DRIVE_COMPRESSION
0x00020000
设备支持硬件数据压缩。
TAPE_DRIVE_CLEAN_REQUESTS
0x02000000
设备可以报告是否需要清洁。
TAPE_DRIVE_ECC
0x00010000
设备支持硬件错误更正。
TAPE_DRIVE_EJECT_MEDIA
0x01000000
设备在软件弹出时以物理方式弹出磁带。
TAPE_DRIVE_ERASE_BOP_ONLY
0x00000040
设备仅执行分区开头标记中的擦除操作。
TAPE_DRIVE_ERASE_LONG
0x00000020
设备执行长时间擦除操作。
TAPE_DRIVE_ERASE_IMMEDIATE
0x00000080
设备执行即时擦除操作,即擦除操作开始时返回。
TAPE_DRIVE_ERASE_SHORT
0x00000010
设备执行短擦除操作。
TAPE_DRIVE_FIXED
0x00000001
设备创建固定数据分区。
TAPE_DRIVE_FIXED_BLOCK
0x00000400
设备支持固定长度块模式。
TAPE_DRIVE_GET_ABSOLUTE_BLK
0x00100000
设备提供当前特定于设备的块地址。
TAPE_DRIVE_GET_LOGICAL_BLK
0x00200000
设备提供当前逻辑块地址 (和逻辑磁带分区) 。
TAPE_DRIVE_INITIATOR
0x00000004
设备创建发起程序定义的分区。
TAPE_DRIVE_PADDING
0x00040000
设备支持数据填充。
TAPE_DRIVE_REPORT_SMKS
0x00080000
设备支持设置标记报告。
TAPE_DRIVE_SELECT
0x00000002
设备创建选择数据分区。
TAPE_DRIVE_SET_CMP_BOP_ONLY
0x04000000
设备必须位于分区的开头,然后才能设置压缩。
TAPE_DRIVE_SET_EOT_WZ_SIZE
0x00400000
设备支持设置中等警告结束大小。
TAPE_DRIVE_TAPE_CAPACITY
0x00000100
设备返回磁带的最大容量。
TAPE_DRIVE_TAPE_REMAINING
0x00000200
设备返回磁带的剩余容量。
TAPE_DRIVE_VARIABLE_BLOCK
0x00000800
设备支持可变长度块模式。
TAPE_DRIVE_WRITE_PROTECT
0x00001000
如果磁带已启用写入或受写保护,设备将返回错误。

FeaturesHigh

设备功能标志的高阶位。 此成员可以是以下一个或多个值。

Value 含义
TAPE_DRIVE_ABS_BLK_IMMED
0x80002000
设备将磁带移动到特定于设备的块地址,并在移动开始后立即返回。
TAPE_DRIVE_ABSOLUTE_BLK
0x80001000
设备将磁带移动到设备特定的块地址。
TAPE_DRIVE_END_OF_DATA
0x80010000
设备将磁带移动到分区中的数据结束标记。
TAPE_DRIVE_FILEMARKS
0x80040000
设备将磁带向前移动 (或向后移动) 指定数量的文件标记。
TAPE_DRIVE_LOAD_UNLOAD
0x80000001
设备启用和禁用设备以执行进一步操作。
TAPE_DRIVE_LOAD_UNLD_IMMED
0x80000020
设备支持立即加载和卸载操作。
TAPE_DRIVE_LOCK_UNLOCK
0x80000004
设备启用或禁用磁带弹出机制。
TAPE_DRIVE_LOCK_UNLK_IMMED
0x80000080
设备支持立即锁定和解锁操作。
TAPE_DRIVE_LOG_BLK_IMMED
0x80008000
设备将磁带移动到分区中的逻辑块地址,并在移动开始后立即返回。
TAPE_DRIVE_LOGICAL_BLK
0x80004000
设备将磁带移动到分区中的逻辑块地址。
TAPE_DRIVE_RELATIVE_BLKS
0x80020000
设备将磁带向前移动 (或向后移动) 指定数量的块。
TAPE_DRIVE_REVERSE_POSITION
0x80400000
设备将磁带向后移动块、文件标记或集标记。
TAPE_DRIVE_REWIND_IMMEDIATE
0x80000008
设备支持立即回退操作。
TAPE_DRIVE_SEQUENTIAL_FMKS
0x80080000
设备将磁带向前移动 (或向后) 到指定数量的连续文件标记的第一个匹配项。
TAPE_DRIVE_SEQUENTIAL_SMKS
0x80200000
设备将磁带向前移动 (或向后) 到指定数量的连续设置标记的第一个匹配项。
TAPE_DRIVE_SET_BLOCK_SIZE
0x80000010
设备支持设置固定长度逻辑块的大小或设置可变长度块模式。
TAPE_DRIVE_SET_COMPRESSION
0x80000200
设备启用和禁用硬件数据压缩。
TAPE_DRIVE_SET_ECC
0x80000100
设备启用或禁用硬件错误更正。
TAPE_DRIVE_SET_PADDING
0x80000400
设备启用或禁用数据填充。
TAPE_DRIVE_SET_REPORT_SMKS
0x80000800
设备启用或禁用设置标记的报告。
TAPE_DRIVE_SETMARKS
0x80100000
设备将磁带向前移动 (或反向) 指定数量的集标记。
TAPE_DRIVE_SPACE_IMMEDIATE
0x80800000
设备支持即时间距。
TAPE_DRIVE_TENSION
0x80000002
设备支持磁带紧张。
TAPE_DRIVE_TENSION_IMMED
0x80000040
设备支持立即磁带紧张。
TAPE_DRIVE_WRITE_FILEMARKS
0x82000000
设备写入文件标记。
TAPE_DRIVE_WRITE_LONG_FMKS
0x88000000
设备写入长文件标记。
TAPE_DRIVE_WRITE_MARK_IMMED
0x90000000
设备支持立即写入短文件和长文件标记。
TAPE_DRIVE_WRITE_SETMARKS
0x81000000
设备写入集标记。
TAPE_DRIVE_WRITE_SHORT_FMKS
0x84000000
设备写入短文件标记。

EOTWarningZoneSize

指示磁带结束警告与磁带的物理端之间的字节数。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 winnt.h (包括 Windows.h)

另请参阅

GetTapeParameters