WinAPI调用访问没有驱动器盘符的USB存储?

2023-12-28

我注意到,某些 USB 存储设备不会在 Windows 中注册为常规驱动器,因为它们甚至没有分配驱动器号。因此,我显然无法使用标准文件操作 C API 访问它们。

我可以使用哪些 WinAPI 调用在这些奇怪的设备上执行一些正常的文件操作 - 所以:

  • 找到/枚举这些设备,
  • 浏览设备上的文件/目录树并获取一些文件统计信息(大小、修改日期等),
  • 读/写文件的内容,
  • 创建/删除文件/目录?

另外,这些类型的设备/协议已知/调用的一般关键字是什么?


如果你说的是移动设备看起来像已安装的卷,但没有任何安装点,它们被称为Windows 便携式设备 http://msdn.microsoft.com/en-us/library/dd388998%28v=vs.85%29.aspx and 它们不是已安装的卷.

Windows不直接访问文件系统,它只是通过媒体传输协议 (MTP http://en.wikipedia.org/wiki/Media_Transfer_Protocol) or 图片传输协议 (PTP http://en.wikipedia.org/wiki/Picture_Transfer_Protocol)并创建一个shell命名空间扩展 http://msdn.microsoft.com/en-us/library/windows/desktop/cc144095%28v=vs.85%29.aspx向用户呈现一个虚拟文件夹。

如果您想与这些类型的设备进行通信,那么您很可能想使用WPD API http://msdn.microsoft.com/en-us/library/dd389005%28v=vs.85%29.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinAPI调用访问没有驱动器盘符的USB存储? 的相关文章

随机推荐

  • Objective C 术语:渠道和代表

    我无法理解 iPhone 如何处理事件的渠道概念 帮助 代表们也让我困惑 请问有人愿意解释一下吗 Outlets 在 Interface Builder 中 是类中的成员变量 设计器中的对象在运行时加载时会被分配 这IBOutlet宏 这是
  • 通过 NFC 标签共享 Wifi 凭证,无需特殊应用程序

    我正在寻找一种方法来创建 NFC 标签 该标签可以共享我的网络的 wifi 凭证 而我的客人无需在手机上安装任何特殊的 NFC 应用程序 手机自带的应用程序除外 我一直在研究 NFC Tag Writer WifiTap NFC Task
  • 使用 get_or_create 返回多个对象

    我正在编写一个小的 django 命令来将数据从 json API 端点复制到 Django 数据库中 此时我实际上创建了对象obj created model objects get or create filters 我得到一个Mult
  • Laravel 验证错误消息字符串

    我想将 laravel 验证错误数组转换为逗号分隔的字符串 这是在 ios 应用程序的 api 服务中使用的 以便iOs开发者可以轻松处理错误消息 I tried valArr foreach validator gt errors as
  • 保护 Web API 免受未经授权的应用程序的侵害

    我正在开发一个使用大量 AJAX 与服务器通信的网页 反过来 服务器具有广泛的 REST JSON API 公开 Web 客户端调用的不同操作 该网站可供匿名用户和经过身份验证的用户使用 正如您所料 经过身份验证的用户发出的 Web 服务调
  • WKWebKit:没有 dataDetectorTypes 参数

    In UIWebView 很容易添加UIDataDetectorTypes到一个视图 myUIWebView dataDetectorTypes UIDataDetectorTypePhoneNumber 等等 然而 WKWebView似乎
  • 如何正确保护使用应用内购买和本地数据库的应用程序

    我目前正在为 Android 开发一款益智游戏 我希望完成后具有以下功能 免费玩 支持广告 因此需要有效的互联网连接 如果无法显示广告则无法玩 应用内购买选项可删除广告和连接检查 应用内购买附加内容 然而我意识到有很多问题源于我的要求 拥有
  • 将缩写词替换为其值 Python

    我正在努力清理一些包含大量首字母缩略词的文本 因此 我制作了一本包含一些示例及其值的字典 但是我遇到了一些问题 下面的示例代码 def acr text acr dict ft feet mi michigan for word abr i
  • Microsoft.AspNetCore.Mvc.NewtonsoftJson 6.0.2 与 net5.0 不兼容

    我正在 Mac 上使用 Visual Studio 2019 尝试启动 REST API 项目 尝试安装 NewtonsoftJson 6 0 2 时立即陷入困境 我只是在学习教程 正在使用的 NewtonsoftJson 版本是 3 1
  • 基于 C# 的规则语言示例?

    您能否提供一个用 C 编写的规则定义语言的好示例 Java 人有JESS http herzberg ca sandia gov C 有什么好东西吗 此页面显示了 C 中的开源规则引擎的一些示例 http csharp source net
  • 如何在 CAKEPHP 中访问 GET 请求?

    如何在 CAKEPHP 中访问 GET 请求 如果我在 url 中传递一个变量 http samplesite com page key1 value1 key2 value2 我应该使用 GET 还是 this gt params 来获取
  • 解决8字谜题的有效方法是什么?

    8 拼图是一块有 9 个位置的方板 由 8 个编号的图块和一个间隙填充 在任何时候 与间隙相邻的图块都可以移动到间隙中 从而创建新的间隙位置 换句话说 间隙可以与相邻 水平和垂直 的图块交换 游戏的目标是从任意配置的图块开始 然后移动它们以
  • Pyinstaller 与 ImageTk 和 Tkinter 不能很好地配合

    我正在尝试使用 pyinstaller 来构建我一直在开发的程序 但之后我遇到了二进制文件的问题 这是我的程序 首先我跑了pyinstall test py然后我使用运行二进制文件 dist main test但我收到了正常运行脚本时不会收
  • PHP date_format():如何从字符串值格式化日期

    我有一些 PHP 代码 exd date create 01 Dec 2015 exd date format exd Y m d echo exd 用于格式化日期 预期输出是2015 12 01但它返回2016 12 01 我缺少什么 U
  • Apache 删除请求

    我有个问题 当我发送 DELETE 请求时 我的网络服务器会收到 403 响应 我不想删除我请求中的东西 我只需要知道使用的方法是删除 如何配置我的网络服务器使其不再发送 403 消息 我不想启用 WebDAV 或类似的功能 我只想知道请求
  • iOS7 中 MKMapView 的快照

    我正在尝试在 iOS7 应用程序中创建 MKMapView 的快照 就像在以前的 iOS 版本中推荐的那样 UIImage renderMapViewToImage UIGraphicsBeginImageContextWithOption
  • 如何在 C++ 中使用带有指向对象的指针向量的查找算法?

    我想在对象指针向量中找到匹配对象 这是一个示例代码来说明我的问题 class A public A string a a a bool operator const A p return p a a private string a vec
  • 如何使用 React 实现滚动间谍

    我想实施一个滚动间谍没有引导程序 网上查了很多代码 都是由jQuery 如何实施滚动间谍仅仅依靠 React 的力量 我做了一个反应Wrapper 与渲染道具 https reactjs org docs render props html
  • Ant 任务中的多个依赖项

    如果我有三个目标 其中一个all one compile和一个jsps 我该怎么做all依赖于另外两个 可不可能是
  • WinAPI调用访问没有驱动器盘符的USB存储?

    我注意到 某些 USB 存储设备不会在 Windows 中注册为常规驱动器 因为它们甚至没有分配驱动器号 因此 我显然无法使用标准文件操作 C API 访问它们 我可以使用哪些 WinAPI 调用在这些奇怪的设备上执行一些正常的文件操作 所