title author date CreateTime categories
如何让 USB 设备不显示安全删除硬件弹出选项
lindexi
2019-09-25 11:58:19 +0800
2019-09-25 11:22:23 +0800

插入一个 U 盘的时候,可以在右下角找到安全删除硬件图标,点击就可以删除此硬件。如果此时插入的是一个无线网卡,也就是 USB 无线 wifi 设备,此时如果逗比点了弹出 802.11 设备那么就不能再使用无线上网了 如果我是一个硬件供应商,如何让我的设备不会显示弹出安全删除硬件弹出选项

我不是做硬件的,对硬件懂的很少,以下是我找到的文档,如果有说错的,欢迎小伙伴告诉我

从 Using the USB Removable Capability for Device Container Grouping

可以找到这句话

The USB Removable capability allows the operating system to create a device container for legacy devices.

从 Overview of the Removable Device Capability可以知道一个 USB 设备是需要声明自己支持 Removable 的才可以在右下角使用安全删除硬件弹出选项

The removable device capability is a bit (Removable) that bus drivers set in the DEVICE_CAPABILITIES

从 Container IDs Generated from the Removable Device Capability 可以知道,在即插即用功能将会使用到这个功能,在设备插入的时候,通过发送 IRP_MN_QUERY_CAPABILITIES 获取到设备的返回信息,就可以知道这个设备支不支持移除

The Plug and Play manager uses the removable device capability to generate a container ID for all devnodes enumerated for the physical device. The bus driver reports the removable device capability in response to an IRP_MN_QUERY_CAPABILITIES request.

那么上面说的发送信息是什么,就从IRP_MN_QUERY_CAPABILITIES 可以知道,在硬件设备被枚举时,系统的 PnP 也就是即插即用功能将会发送 IRP_MN_QUERY_CAPABILITIES 信息给到硬件,此时硬件收到时将会回复 DEVICE_CAPABILITIES 信息

When a device is enumerated, but before the function and filter drivers are loaded for the device, the PnP manager sends an IRP_MN_QUERY_CAPABILITIES request to the parent bus driver for the device. The bus driver must set any relevant values in the DEVICE_CAPABILITIES structure and return it to the PnP manager.

硬件回复的消息请看 DEVICE_CAPABILITIES (wdm.h) 在 PnP 询问USB设备,此时USB设备返回 DEVICE_CAPABILITIES 里面可以设置 Removable 项说明此设备支持移除。也就是想要自己的 USB 设备不能被移除,那么就声明不支持移除

以下是 DEVICE_CAPABILITIES 定义

typedef struct _DEVICE_CAPABILITIES {USHORT             Size;USHORT             Version;ULONG              DeviceD1 : 1;ULONG              DeviceD2 : 1;ULONG              LockSupported : 1;ULONG              EjectSupported : 1;ULONG              Removable : 1;// 忽略不相关属性
} DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES;

对 Removable 属性的官方注释是如果设置为 True 那么将会显示弹出或移除设备

RemovableSpecifies whether the device can be dynamically removed from its immediate parent. If Removable is set to TRUE, the device does not belong to the same physical object as its parent.For example, if Removable is set to TRUE for a USB composite device inside a multifunction printer, the composite device does not belong to the physical object of its immediate parent, such as a USB hub inside a notebook PC.In most cases the bus driver, not the function driver, should determine the value of the Removable parameter of the device. For USB devices, the USB hub driver sets the Removable parameter. It should not be modified by the function driver.If Removable is set to TRUE, the device is displayed in the Unplug or Eject Hardware program, unless SurpriseRemovalOK is also set to TRUE.

从可移动设备功能生成的容器 Id 重写

2019-9-25-如何让-USB-设备不显示安全删除硬件弹出选项相关推荐

  1. android弹出选择usb,android 解决:默认情况下用于该USB设备 自动获取USB操作权限...

    很多android 的应用在使用USB设备时,总会遇到一个很烦人的问题. 即每次都会弹出对话框: 每次插入USB设备,都会弹出.每次选上默认情况下使用该USB设备.但总还是会弹出.用户体验很差. 似乎 ...

  2. android usb 开发:如何跳过usb权限询问,解决绕过android下apk使用usb设备权限查询相应问题,自动获取usb权限...

    很多android的应用在使用usb设备时,尤其是usb摄像头,前段时间编写了一个有关usb设备的apk,但是在使用时总是会跳出系统对话框,用户体验很差,如下图所示,所以一直想要解决这个问题,在网上说 ...

  3. 跟想这台计算机usb无法识别,无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别...

    把计算机电源线从插座上拔下来,将插头短接一段时间后重新启动就好了,哈哈!windows 真奇怪!! 短接方法: 方法二: 我这2天也遇此问题,U盘绝对没坏,在人家的机器上能使,本机插上U盘就会出现:& ...

  4. 台式计算机usb口不识别鼠标,如何解决插入鼠标提示无法识别USB设备的问题

    如何解决插入鼠标提示无法识别USB设备的问题 有的小伙伴在使用电脑过程中,为了方便使用鼠标,因此插入了鼠标,但是却看到了无法识别USB设备的提示框,那么如何解决这一问题呢?小编就来为大家介绍一下吧. ...

  5. 无法识别的usb跟这台计算机,【实战成功】无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别...

    [实战成功]无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别 症状:一插U盘就总是提示:无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WIN ...

  6. 无法识别的usb设备 跟这台计算机,无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别...

    把计算机电源线从插座上拔下来,将插头短接一段时间后重新启动就好了,哈哈!windows 真奇怪!! 短接方法: 方法二: 我这2天也遇此问题,U盘绝对没坏,在人家的机器上能使,本机插上U盘就会出现:& ...

  7. WSL2连接调用USB设备

    声明:本文教程来源于微软官网WSL教程,链接地址:Connect USB devices 最近在学OpenCV,发现微软的WSL是个好东西,结合VS Code编辑器,无论是C++还是Python方式学 ...

  8. 一文入门USB设备的驱动编写方法

    摘要:本文介绍了USB设备驱动相关的基本知识结构,和编写驱动的基本步骤和流程.最后通过编写一个USB鼠标的驱动实力,讲述了简单字符型USB输入设备驱动的具体编写步骤,并给予了测试方法.文末附有完整程序 ...

  9. USB 设备无法识别故障的排除

    众所周知,现在电脑上都有 USB 插口,在众多的 PC 机总线 中,USB 以其突出的优点独树一帜: 1)使用方便,即插即用: 2)传输 速率高,速度可高达 480Mbps: 3)易于扩展:通过使用 ...

  10. 【VMware】虚拟机识别USB设备

    如果使用的开发环境是在虚拟机上搭建的,在利用otg数据线等进行固件烧录时会涉及到虚拟机识别开发板这一环节,所以这里介绍VMWare虚拟机如何设置才能正确识别USB设备的方法. 1 配置虚拟机支持USB ...

最新文章

  1. /etc/passwd /etc/shadow 详解
  2. Web高级征程:《大型网站技术架构》读书笔记系列
  3. Linux中添加、修改、删除用户和用户组
  4. win7 安装mysql 5.7.9记录
  5. drupal node 显示不同字段 node.tpl.php,修改Drupal Taxonomy Term列表显示方法
  6. 超融合和服务器关系_超融合与传统服务器区别
  7. 监测利器cacti服务安装
  8. o2o家庭助手demo
  9. python + selenium 练习篇 - 定位元素的方法
  10. Mysql8.0以上重置初始密码的方法
  11. 前端安全- 常见的网络攻击
  12. PHP安装教程及相关说明
  13. 【转载】公主和士兵的故事
  14. 微型计算机硬件系统包括什么,微型计算机的硬件系统包括什么?
  15. QQ群反向昵称、恶搞昵称的原理
  16. 我的世界服务器怎么弄无限矿物,我的世界暮色森林矿石树资源无限刷攻略
  17. Bzoj4567---背单词
  18. 【亲测】80个经典在线休闲H5小游戏源码合集,直接上传空间即可使用,可玩性还不错
  19. 现在可以把安卓改为鸿蒙系统了吗,华为官宣鸿蒙系统发布后,现有安卓系统可以直接切换新系统...
  20. Linux下deb包和rpm包区别

热门文章

  1. python批量图片文字识别_利用Python批量进行图片文字识别
  2. 【离散数学】第二章 笔记(完)
  3. 个人管理:“唐僧”之五项修炼
  4. 十二星座匹配对象_快来看看,准爆了的十二星座恋情分析表
  5. 游戏建模入门教程:绝地求生—PUBG的游戏模型制作流程
  6. Error: A <Route> is only ever to be used as the child of <Routes> element, never rendereddirectly
  7. 阿里云企业邮箱哪个代理商好
  8. 非常不错的停用词词表
  9. 一文讲透商业智能BI 到底是什么[转]
  10. 如何删除tmp计算机桌面,win10系统下tmp临时文件删除不了像何解决