问题标签 [mtp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4298 浏览

driver - 用于 MTP 设备的 UMDF 过滤器驱动程序

我正在尝试为 Windows 7 上的 MTP 设备编写过滤器驱动程序,以记录文件操作并阻止某些文件操作。我发现在 Windows 中处理 MTP 的驱动程序是一个名为 WpdMtpDr.dll 的 UMDF 驱动程序,我根据这个示例(UMDF 函数驱动程序之上的示例 UMDF 过滤器驱动程序)为它编写了一个 UMDF 过滤器驱动程序,因为我将WpdMtpDr.dll其视为功能驱动程序。我还以此作为参考来确定驱动程序是作为上过滤器还是下过滤器安装的。我使用 dpinst.exe 安装了驱动程序。下面是我的 INF 文件。

安装没有错误,但在插入 MTP 设备(三星 Galaxy S3)时,过滤器驱动程序不在其驱动程序列表中(通过设备管理器查看),并且从未调用其 DllMain。

我试图在上下过滤器之间切换,它也没有帮助。

我究竟做错了什么?

0 投票
0 回答
137 浏览

java - 当我将安卓驱动器连接到 PC 时识别它

我想将 xml 文件复制粘贴到我的 android sdcard 中的目录中(稍后将由 android 应用程序导入)。

我想知道是否有更简单的解决方案可以识别像 C:D: 这样的 android 驱动器。

当我连接我的 android 设备时,它被识别为“Nexus 7”,在里面我们找到了“Mémoire de stockage interne”,我们可以在其中找到 sdcard 文件夹。

我想问是否有识别android MTP模式并仅返回android驱动器的API或解决方案。

谢谢

0 投票
1 回答
1176 浏览

usb - USB - 无中断端点的 MTP/PTP

由于我们计划为您的下一个设备使用 MTP(媒体传输协议),因此我们评估使用 MTP 作为当前发布设备中当前(不稳定)USB 驱动程序的替代品。

此设备的限制是,其处理器 (Strong Arm) 最多仅支持 3 个端点:

“串行端口 0 是一个通用串行总线设备控制器 (UDC),它支持三个端点,并且可以以 12 Mbps 的波特率运行半双工(仅从属,而不是主机或集线器控制器)。”

但根据规范,MTP 至少需要 4 个端点(来自 PTP 规范):

“设备应包含至少四个端点:默认、数据输入、数据输出和中断端点。”

现在的问题是:我们可以跳过设备上的中断端点吗?我知道它违反了规范 - 但如果我们这样做会发生什么?

从我们目前的评估软件中,我可以看到以下场景:

  1. “可用空间”未更新 - 用户将看到有 100Mb 的可用内存,但放置 1Mb 文件会出现错误“内存不足”
  2. 非主机驱动的操作在主机上不可见(因此当在设备上删除、创建或移动文件时,连接的主机不知道)

如果我们可以忍受它,是否建议以这种方式实现它?


更新:该死的......当我上次测试它时,我刚刚删除了中断EP数据传输的代码。现在我还删除了端点定义(我不再创建端点),从这一点开始,无法再建立 MTP 连接:(

似乎 Windows 驱动程序 (wpd) 需要中断端点——即使它没有被使用。厄运...

有没有人知道,是否以及如何让 MTP 与 3 个端点一起工作?

0 投票
3 回答
5151 浏览

camera - 使用 MTP 控制尼康相机

我想知道如何开始控制我的尼康数码单反相机?我一直在阅读 Nikon SDK 和 MPT/PTP 并且对如何开始编写脚本来控制它感到非常困惑。谢谢你帮助我。

0 投票
1 回答
1162 浏览

c# - 如何重命名 WPD 设备上的对象

我正在制作一个PortableDeviceLib的分支,它与 WPD/MTP 设备上的存储服务一起使用。并偶然发现了一个问题。我想重命名设备上的文件对象,所以首先想到的是更改对象的属性。但我这样做是个例外。如果我更改,名称会更改,但文件名与预期相同,也不例外。WPD_OBJECT_ORIGINAL_FILE_NAMEWPD_OBJECT_NAME

所以问题是,如何重命名 WPD 设备上的对象?为什么我得到异常更改文件名属性?

我想重命名的原因是,当将文件复制到设备时,如果文件已经存在,它会得到一个扩展名dup0,dup1等的副本。

0 投票
1 回答
298 浏览

xcode - 无法在 OSx 上的 firebreath 项目中链接 libmtp

我有一个使用 firebreath 框架编写的功能性插件。我需要为其添加 MTP 读写支持。

经过一番研究,我登陆了libmtp ( http://libmtp.sourceforge.net/ )。我下载了构建它的源代码,并且能够运行示例并读取/写入 MTP 设备。

接下来我尝试在我的 Firebreath 插件项目中添加使用这个库。我可以很好地编译,但我得到以下链接器错误。我已将包含 libusb.a 和 libiconv.a 文件的目录添加到我的搜索库路径中。

我也尝试过使用 Mac Ports 版本(sudo ports install libmtp +universal)

注意:要使用 libmtp,您需要安装 libiconv 和 libusb

这是我在 xcode 中遇到的链接器错误。

0 投票
0 回答
870 浏览

android - 以编程方式将文件传输到 MTP android 设备(python 或 ruby​​)

将文件(最好通过 USB)从 PC 发送到 MTP android 设备(3.0+)的最简单方法是什么。最好在 python 或 ruby​​ 中,但如果需要我可以适应。我还想避免使用 adb,因为它在用户端添加了额外的步骤。

0 投票
2 回答
17291 浏览

c# - 如何管理 MTP 便携式设备上的文件?

我已经研究这个话题好几天了,我找不到任何关于在 MTP 便携式设备(更具体地说是 Galaxy S4)上管理文件的内容。

我希望能够...

  • 将文件从 PC 复制到 MTP 设备
  • 将文件从 MTP 设备复制到 PC
  • 从 MTP 设备中删除文件

我真的很想复制 MP3 文件,但如果有一种通用的方法来复制和 MTP 支持的文件,那就太棒了。我查看了 Window Portable Device API,但在 C# 中找不到任何有示例代码的地方。

任何博客、示例代码和文件都会非常有帮助。谢谢!:)

0 投票
1 回答
508 浏览

java - 将移动设备 (Android) 连接为 MTP,现在我们可以访问此设备并获取时间

我正在尝试开发一个应用程序,在该应用程序中,我将移动设备作为 MTP 连接到计算机。现在我正在尝试使用一些外部库从我的 java 代码中访问这个 MTP。
我的要求是从该设备获取时间并在计算机上计算偏移量。
但我不能这样做。我们能不能做这样的事情。

我尝试使用 USB 网络共享并创建两种方式的套接字通信来执行此操作,但这需要打开套接字并且会使应用程序的安全性降低。

0 投票
1 回答
334 浏览

java - 使用 Java 删除便携式设备文件

我使用 JMTP 库找到了上述问题的解决方案

http://code.google.com/p/jmtp/

这是代码

但我想删除设备内的文件?如何使用此库删除文件