GetTapeParameters功能检索描述磁带或磁带机的信息。
DWORD GetTapeParameters(
HANDLE 【hDevice】, | //打开设备的句柄 |
DWORD 【// preparation method】, | //请求的信息类型 |
LPDWORD 【lpdwSize】, | //返回信息的地址 |
LPVOID 【lpTapeInformation】 | //磁带介质或驱动器信息 |
); |
参数
【hDevice】
标识要查找哪些信息的设备。该句柄是通过使用CreateFile函数创建的。
【// preparation method】
指定所请求信息的类型。此参数必须是以下值之一:
值 | 描述 |
GET_TAPE_MEDIA_INFORMATION | 检索有关磁带设备中磁带的信息。 |
GET_TAPE_DRIVE_INFORMATION | 检索有关磁带设备的信息。 |
【lpdwSize】
指向接收由【lpTapeInformation】参数指定的缓冲区大小(以字节为单位)的变量。如果缓冲区太小,则该参数将接收所需的大小。
【lpTapeInformation】
指向包含所请求信息的结构。如果【// preparation method】参数是GET_TAPE_MEDIA_INFORMATION,【lpTapeInformation】指向TAPE_GET_MEDIA_PARAMETERS结构。
如果【// preparation method】为GET_TAPE_DRIVE_INFORMATION,【lpTapeInformation】指向TAPE_GET_DRIVE_PARAMETERS结构。
返回值
如果函数成功,返回值为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函数调用的GetTapeParameters函数返回的块大小范围值(最大值和最小值)将设置为GET_TAPE_DRIVE_INFORMATION值,将指示系统限制,而不是驱动器限制。但是,磁带驱动设备和驱动器中存在的介质确定了真正的块大小限制。因此,应用程序可能无法设置通过在【dwOperation。】中指定GET_TAPE_DRIVE_INFORMATION获得的范围中提到的所有块大小
也可以看看
CreateFile, SetTapeParameters, TAPE_GET_DRIVE_PARAMETERS, TAPE_GET_MEDIA_PARAMETERS