iaidr421 2019-12-06 14:32 采纳率: 0%
浏览 805
已结题

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

根据网上代码使用 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条回答 默认 最新

  • 窝米逗佛~ 2019-12-06 16:06
    关注

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

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

    还是

    USB\VID_1111&PID_1111&MI_00
    

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

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制