Windows 特定环境中磁带驱动器IO调用失败
我正在尝试在我的一个磁带设置中运行磁带调用。但是PrepareTape和GetTapeStatus调用即使在获得成功句柄后也会失败 下面是我正在使用的示例代码Windows 特定环境中磁带驱动器IO调用失败,windows,server,Windows,Server,我正在尝试在我的一个磁带设置中运行磁带调用。但是PrepareTape和GetTapeStatus调用即使在获得成功句柄后也会失败 下面是我正在使用的示例代码 HANDLE tapeHandle = CreateFile(tapeName, GENERIC_ALL, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_BACKUP_SEMANTICS, 0);
HANDLE tapeHandle = CreateFile(tapeName, GENERIC_ALL, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_BACKUP_SEMANTICS, 0);
if (tapeHandle != INVALID_HANDLE_VALUE){
DWORD prepareTApeSuccess = PrepareTape(tapeHandle, TAPE_LOAD, FALSE);
if (prepareTApeSuccess == NO_ERROR){
cout << "Prepare Tape successsfully executed" << endl;
}
else{
cout << "Prepare Tape Failed with the error :" <<
prepareTApeSuccess <<"::"<< GetLastError() << endl;
}
}
并使用句柄调用GetTapeStatus函数,它仍然返回相同的1112(驱动器中的错误\u NO\u MEDIA\u)
所以我被困在这里。我正在以下环境中尝试此代码
**磁带库:**HPE磁带库
**磁带机:*HPE LTO Ultrium-8
**计算机:**Windows Server 2019(磁带库已连接到此计算机)
同样的代码也适用于其他环境。我需要在代码或环境端签入的任何内容
CreateFile(tapeName, GENERIC_ALL, 0, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_BACKUP_SEMANTICS, 0); //(removed FILE_SHARE_READ | FILE_SHARE_WRITE)