PrepareTape函数准备要访问或删除的磁带。
DWORD PrepareTape(
HANDLE 【hDevice】, | //打开设备的句柄 |
DWORD 【// preparation method】, | //准备方法 |
BOOL 【bImmediate】 | //操作开始后返回 |
); |
参数
【hDevice】
标识准备磁带的设备。该句柄是通过使用CreateFile函数创建的。
【// preparation method】
指定如何准备磁带设备。此参数可以是以下值之一:
值 | 含义 |
TAPE_FORMAT | 执行磁带的低级格式。目前,只有QIC117设备支持此函数。 |
TAPE_LOAD | 加载磁带并将磁带移动到开头。 |
TAPE_LOCK | 锁定磁带弹出机构,使磁带不会意外弹出。 |
TAPE_TENSION | 通过将胶带移动到胶带的末端并回到最初来调节张力。所有设备不支持此选项。如果不支持此值,则忽略此值。 |
TAPE_UNLOAD | 将磁带移动到开始,以从设备中删除。成功卸载操作后,设备将向尝试访问磁带的应用程序返回错误,直到磁带重新加载。 |
TAPE_UNLOCK | 松开磁带排出机构。 |
【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 | 媒体是写保护的。 |
备注
某些磁带设备不支持某些磁带操作。请参阅您的磁带设备文档,并使用GetTapeParameters功能来确定磁带设备的功能。
也可以看看