WriteTapemark功能将指定数量的文件标记,设置标记,短文件标记或长文件标记写入磁带设备。这些标记将磁带分区划分为较小的区域。
DWORD WriteTapemark(
HANDLE 【hDevice】, | //打开设备的句柄 |
DWORD 【dwTapemarkType】, | //要写入的标记类型 |
DWORD 【dwTapemarkCount】, | //要写入的标记号 |
BOOL 【bImmediate】 | //写入后返回 |
); |
参数
【hDevice】
标识要写入标记的设备。该句柄是通过使用CreateFile函数创建的。
【dwTapemarkType】
指定要写入的标记的类型。此参数可以是以下值之一:
值 | 描述 |
TAPE_FILEMARKS | 写入【dwTapemarkCount】参数指定的文件标记数。 |
TAPE_LONG_FILEMARKS | 写入【dwTapemarkCount】指定的长文件号。 |
TAPE_SETMARKS | 写入【dwTapemarkCount】指定的设置数。 |
TAPE_SHORT_FILEMARKS | 写入【dwTapemarkCount】指定的短文件的数量。 |
【dwTapemarkCount】
指定要写入的标记数。
【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 | 媒体是写保护的。 |
备注
文件标记,标记,短文件标记和长文件标记是表示磁带的线性组织的特殊记录元素。这些标记都不包含用户数据。文件标记是最普遍的标记;标记提供了文件标记不可用的层次结构。
短的文件标记包含一个短的擦除间隙,不能覆盖,除非从分区开始执行写入操作,或者从早期的长文件标记执行写入操作。
长的文件标记包含长的擦除间隙,允许应用程序将磁带放置在文件标记的开头,并覆盖文件标记和擦除间隙。
也可以看看