zoukankan      html  css  js  c++  java
  • MTP(Media Transfer Protocol(媒体传输协议))简介

    ---恢复内容开始---

    1,简单说明

    MTP,微软公司规定的新的传输规则(字面本来应该是协议的,但是自己感觉更像是规则,制定了基本上的所有路线,剩下的是你想怎么选择罢了,使用者完全没有可能在它的框架里面再生成其他的东西)。MTP不但应用在USB(以USB端口传输数据的设备)方面,还应用在IP方面。不过主要还是在USB设备方面。现在很多手机都支持。

    2,基本的工作原理

    关于MTP的文档,我会在参考文件处列出。仅供大家参考。

    MTP协议本身,规定了USB设备的所有信息,文件读取方式,传输方式,读取方式甚至API的命名方式。

    简单的说,所有东西都用特定的数值规定。想要明白数值的意义,就需要查看MTP协议的内容。

    剩下的就是通过API进行调用。

    稍微用过Linux的,就基本上明白电脑是怎么读取文件的。

    基本上我们要读取文件,都需要以下几个要素。

    >1,设备的信息

    >2,设备的存储的文件

    >3,文件的路径

    >4,文件的属性(大小,只读等等)

    >5,查看自身的内存大小,进去读取

    就像上述的一样,我们是主动发起者,我们想干嘛,都是我们开始发起的,USB就是等个我们的命令。

    我们发一个命令,它回复我们想要的东西。这样就能减少移动设备的功能性。

    (毕竟移动设备优势在于小,太多的功能性,在物理上很难有变小的可能。

    当然现在为了分担主设备的运行,也有一些在设备本身添加功能。)

    MTP协议也是基于上面的想法,使得主机(一般是指电脑)成为发起者,USB端是回应者。

    以下【(API)】的地方,是指由相应的API存在

    >连接设备,会进行初始化(API),登入设备(API),读取设备的信息(API)

    >然后在程序意义上开始连接设备(API),生成一个任务,以后所有的数据交流都是在这个任务有效的情况下产生的

    >接下来,开始查看设备的存储的文件(API)

    >查看路径(API)

    >文件的属性(API)

    >读取(API)

    几乎所有的操作都是通过API完成的,而且在读取的时候都是通过文件包的方式进行读取的。

    之所以不写出具体API名称,是因为这些必须自己去详读,这里只是简单介绍它。不过大家懂点英文,估计不看具体介绍也能看懂,使用。

    基本上会跟以下的名词打交道。

    1,handle。这里直接可以解释成“指向”。不管是devicehandle,还是objecthandle,都是指向设备,或者指向文件的意思

    2,object。文件,文件夹

    3,get。API中,获取的意思。getXXXinfo,就是获取信息,getXXX就是读取了。

    4,format。这个就需要看文档了,对应相应的意思。

  • 相关阅读:
    SQL数据库数据优化SQL优化总结( 百万级数据库优化方案)
    三星S8相机黑画面解决
    三星Galaxy S8 刷机经验记录
    2018.12.02 Socket编程之初识Socket
    工作至今
    巧用std::shared_ptr全局对象释放单例内存
    C++标准库之迭代器
    Phone 3rd Recovery
    进电机之两相双极性步进电机仿真
    使用Pretues仿真Arduino驱动步进电机
  • 原文地址:https://www.cnblogs.com/a364506875/p/4242843.html
Copyright © 2011-2022 走看看