SetTapePosition

【勇芳软件工作室】汉化HomePreviousNext

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功能。

也可以看看

CreateFile, GetTapeParameters, GetTapePosition