GetTapePosition

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

GetTapePosition功能以逻辑或绝对块取回磁带的当前地址。

DWORD GetTapePosition(

HANDLE 【hDevice】,//打开设备的句柄
DWORD 【dwPositionType】,//获取的地址类型
LPDWORD 【lpdwPartition】,//当前磁带分区的地址
LPDWORD 【lpdwOffsetLow】,//地址为低位32位磁带位置
LPDWORD 【lpdwOffsetHigh】//地址高位32位磁带位置
); 

参数

【hDevice】

标识要获取磁带位置的设备。该句柄是通过使用CreateFile创建的。

【dwPositionType】

指定要获取的地址类型。此参数可以是以下值之一:

描述
TAPE_ABSOLUTE_POSITION【lpdwOffsetLow】【lpdwOffsetHigh】参数接收特定于设备的块地址。【dwPartition】参数接收零。
TAPE_LOGICAL_POSITION【lpdwOffsetLow】【lpdwOffsetHigh】参数接收逻辑块地址。【dwPartition】参数接收逻辑磁带分区。

【lpdwPartition】

指向接收当前磁带分区号的变量。分区从1到【n】逻辑编号,其中1是磁带上的第一个分区,【n】是最后一个分区。当检索到特定于设备的块地址时,或者设备仅支持一个分区时,该参数将接收零。

【lpdwOffsetLow】

指向接收当前磁带位置的低位32位的变量。

【lpdwOffsetHigh】

指向接收当前磁带位置的高位32位的变量。如果不需要高位32位,则该参数可以为NULL。

返回值

如果函数成功,返回值为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媒体是写保护的。

备注

逻辑块地址是相对于分区。每个分区上的第一个逻辑块地址为零。

调用GetTapeParameters功能以获取有关磁带机和介质的状态,功能和容量的信息。

也可以看看

CreateFile, GetTapeParameters, SetTapePosition