SetTapePosition设置指定设备上的磁带位置。
Dvord Sattapposisn(hi-Latn
HANDLE 【hDevice】, | //打开设备的句柄 |
DWORD 【dwPositionMethod】, | //要执行的定位类型 |
DWORD 【dwPartition】, | //新磁带分区 |
DWORD 【dwOffsetLow】, | //低位32位磁带位置 |
DWORD 【dwOffsetHigh】, | //高位32位磁带位置 |
BOOL 【bImmediate】 | //操作开始后返回 |
); |
参数
【hDevice】
标识要设置磁带位置的设备。该句柄是通过使用CreateFile函数创建的。
【dwPositionMethod】
指定要执行的定位类型。此参数必须是以下值之一:
值 | 含义 |
TAPE_ABSOLUTE_BLOCK | 将磁带移动到【dwOffsetLow】和【dwOffsetHigh】参数指定的特定于设备的块地址。【dwPartition】参数被忽略。 |
TAPE_LOGICAL_BLOCK | 将磁带移动到【dwPartition】指定的分区中【dwOffsetLow】和【dwOffsetHigh】指定的块地址。 |
TAPE_REWIND | 将磁带移动到当前分区的开头。【dwPartition】,【dwOffsetLow】和【dwOffsetHigh】参数将被忽略。 |
TAPE_SPACE_END_OF_DATA | 将磁带移动到由【dwPartition】指定的分区上的数据的末尾。 |
TAPE_SPACE_FILEMARKS | 将磁带向前(或向后)移动当前分区中由【dwOffsetLow】和【dwOffsetHigh】指定的文件标记数。【dwPartition】参数被忽略。 |
TAPE_SPACE_RELATIVE_BLOCKS | 将磁带向前(或向后)移动当前分区中【dwOffsetLow】和【dwOffsetHigh】指定的块数。【dwPartition】参数被忽略。 |
TAPE_SPACE_SEQUENTIAL_FMKS | 将磁带向前(或向后)移动到当前分区中首次出现【n】文件标记,其中【n】是【dwOffsetLow】和【dwOffsetHigh】指定的数字。【dwPartition】参数被忽略。 |
TAPE_SPACE_SEQUENTIAL_SMKS | 将磁带向前(或向后)移动到当前分区中首次出现的【n】设置,其中【n】是【dwOffsetLow】和【dwOffsetHigh】指定的数字。【dwPartition】参数被忽略。 |
TAPE_SPACE_SETMARKS | 将磁带向前(或向后)移动当前分区中【dwOffsetLow】和【dwOffsetHigh】指定的设置数。【dwPartition】参数被忽略。 |
【dwPartition】
指定要在其中定位的分区。如果【dwPartition】为零,则使用当前分区。分区从1到【n】逻辑编号,其中1是磁带上的第一个分区,【n】是最后一个分区。
【dwOffsetLow】
指定由【dwPositionMethod】参数指定的位置操作的块地址或计数的低位32位。
【dwOffsetHigh】
指定由【dwPositionMethod】参数指定的位置操作的块地址或计数的高位32位。如果不需要高位32位,则该参数应为零。
【bImmediate】
指示移动操作开始后是否返回。如果此参数为TRUE,则函数立即返回;如果FALSE,则在移动操作完成之前功能不会返回。
返回值
如果函数成功,返回值为NO_ERROR。
如果函数失败,则返回值为以下错误代码之一:
错误 | 描述 |
ERROR_BEGINNING_OF_MEDIA | 在中间标记开始之前访问数据的尝试失败。 |
ERROR_BUS_RESET | 在总线上检测到复位条件。 |
ERROR_END_OF_MEDIA | 在操作期间到达磁带末端标记。 |
ERROR_FILEMARK_DETECTED | 在操作期间达到文件标记。 |
ERROR_SETMARK_DETECTED | 在操作期间达成了一个标记。 |
ERROR_NO_DATA_DETECTED | 在操作期间达到数据结尾标记。 |
ERROR_PARTITION_FAILURE | 磁带无法分区。 |
ERROR_INVALID_BLOCK_LENGTH | 多卷分区中的新磁带上的块大小不正确。 |
ERROR_DEVICE_NOT_PARTITIONED | 加载磁带时无法找到分区信息。 |
ERROR_MEDIA_CHANGED | 驱动器中的磁带已被更换或删除。 |
ERROR_NO_MEDIA_IN_DRIVE | 驱动器中没有媒体。 |
ERROR_NOT_SUPPORTED | 磁带驱动程序不支持所请求的功能。 |
ERROR_UNABLE_TO_LOCK_MEDIA | 试图锁定弹出机构失败。 |
ERROR_UNABLE_TO_UNLOAD_MEDIA | 尝试卸载磁带失败。 |
ERROR_WRITE_PROTECT | 媒体是写保护的。 |
备注
如果【dwOffsetLow】和【dwOffsetHigh】指定的偏移量指定要移动的块,文件标记或标记的数量,则正偏移将磁带向前移动到最后一个块,文件标记或设置标记的末尾。负偏移将磁带向后移动到最后一个块,文件标记或设置标记的开头。如果偏移为零,则磁带不会移动。
要获取有关磁带机和介质的状态,功能和容量的信息,请调用GetTapeParameters功能。
也可以看看