我在 Windows 服务中使用 WPD(Windows 便携式设备)API,将文件从 mtp 设备上的文件夹传输到硬盘上的指定文件夹。
出于测试目的,我在 mtp 设备上的文件夹下创建 xyzdata.txt 文件。因此,当代码达到它执行此操作的点时:
hr = content->Properties(&properties);
if (SUCCEEDED(hr))
{
hr = GetStringValue(properties.Get(),
selection,
WPD_OBJECT_ORIGINAL_FILE_NAME,
&originalFileName);
}
'hr' 填充有“ERROR_BUSY”,并且根本没有设置 originalFileName。是否有可能没有为某些对象设置 WPD_OBJECT_ORIGINAL_FILE_NAME 的原因,或者它是检索数据的问题?
任何帮助都将是无价的。如果您需要更多代码,我将在此处发布。
编辑:
错误代码是,
hr = HRESULT_FROM_WIN32(ERROR_BUSY) : 请求的资源正在使用中。
此外,该设备是安卓设备。有时当我们将 USB 电缆插回时,文件名可用。但这种情况很少见。请让我知道发生了什么