iaidr421
iaidr421
采纳率0%
2019-12-06 14:32

c# MTP 获取便携设备中的文件名称、路径等信息

5

根据网上代码使用 PortableDeviceApiLib.dll现在已经可以链接上设备并获取了文件与文件夹的objectID,但是不知道如何使用objectID获取文件名或者文件夹的路径名称信息,贴出获取objectid的代码,知道如何获取文件信息的大神请留言。

     /// <summary>
     ///递归 枚举出设备中的文件或文件夹ID、设备ID
     /// </summary>
     /// <param name="pContent"></param>
     /// <param name="parentID"></param>
     /// <param name="indent"></param>
     /// <param name="objectIDs"></param>
     private void Enumerate(ref PortableDeviceApiLib.IPortableDeviceContent pContent, string parentID, string indent, ref List<string> objectIDs)
     {
         indent += "    ";
         PortableDeviceApiLib.IEnumPortableDeviceObjectIDs pEnum;

         pContent.EnumObjects(0, parentID, null, out pEnum);
         uint cFetched = 0;
         do
         {
                 string objectID;
                 pEnum.Next(1, out objectID, ref cFetched);
                 pContent.Properties

                 if (objectID != null && !objectID.Equals(""))
                 {
                     objectIDs.Add(objectID);
                 }

             if (cFetched > 0)
             {
                 Enumerate(ref pContent, objectID, indent, ref objectIDs);
             }
         } while (cFetched > 0);
     }

            请告知如何通过文件的objectID获取 文件名、路径信息。
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dabocaiqq dabocaiqq 2年前
    点赞 1 评论 复制链接分享
  • d2262272d 窝米逗佛~ 2年前

    你要获取的值究竟是个啥?
    什么样式的? 这样?

    USB\VID_1111&PID_1111&MI_00\6&12E9A068&2&0000
    
    
    

    还是

    USB\VID_1111&PID_1111&MI_00
    

    _说清楚啊
    我没用过c#去获取过,但是用c写过dll给c#端调用过
    什么值都有获取,但是搞不懂你要什么值

    点赞 评论 复制链接分享