MTP(MediaTransferProtocol(媒体传输协议))简介
---恢复内容开始---
1,简单说明
MTP,微软公司规定的新的传输规则(字⾯本来应该是协议的,但是⾃⼰感觉更像是规则,制定了基本上的所有路线,剩下的是你想怎么选择罢了,使⽤者完全没有可能在它的框架⾥⾯再⽣成其他的东西)。MTP不但应⽤在USB(以USB端⼝传输数据的设备)⽅⾯,还应⽤在IP⽅⾯。不过主要还是在USB设备⽅⾯。现在很多⼿机都⽀持。
2,基本的⼯作原理
关于MTP的⽂档,我会在参考⽂件处列出。仅供⼤家参考。
MTP协议本⾝,规定了USB设备的所有信息,⽂件读取⽅式,传输⽅式,读取⽅式甚⾄API的命名⽅式。
简单的说,所有东西都⽤特定的数值规定。想要明⽩数值的意义,就需要查看MTP协议的内容。
剩下的就是通过API进⾏调⽤。
linux怎么读文件内容稍微⽤过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。这个就需要看⽂档了,对应相应的意思。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。