草庐IT

国标设备通道0

全部标签

windows - 每台设备的即插即用 ID (PNPID) 是否唯一?

我使用Windows并希望为通过USB连接的外部硬盘找到一个唯一ID我发现那是PnpID=0010101D400000000这是独特的吗?如果我将其连接到其他Windows和PC,那不会改变吗?而任何其他HDD不能有此PnpID?谢谢 最佳答案 PNPID是唯一的,因为它是VendorId和deviceID的组合。每个设备都有自己唯一的PNPID。 关于windows-每台设备的即插即用ID(PNPID)是否唯一?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何在 Windows 设备管理器中获取带有黄色感叹号的设备列表 - C++

我正在使用msdnWMI示例代码来获取设备管理器中显示的带有黄色感叹号的设备列表,但它只返回所有正确的列表机器上安装的设备。这里的任何人都可以帮助我仅使用C++解决这个问题。谢谢voidGetUnKnownDeviceList(){HRESULThres;hres=CoInitializeEx(0,COINIT_MULTITHREADED);hres=CoInitializeSecurity(NULL,-1,NULL,NULL,RPC_C_AUTHN_LEVEL_DEFAULT,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE,NULL);IWbem

c# - 在组织中授权 USB 设备的最佳方式?

我正在开发一个项目,我需要限制访问组织网络中非白名单USB设备的使用。我通过检查该USB设备的VID和PID来使用它。现在的问题是,如果假设我有一个AppleI-pad,那将有一个全局VID和PID编号。如果我将任何AppleI-Pad列入白名单,那么根据我当前的情况,所有其他AppleI-Pad都将在网络中获得授权。这是从VID和PID编号检查USB设备的最佳方法,无论该设备是否在组织网络中列入白名单,还是其他比它更好的东西。请提出建议。谢谢。 最佳答案 除了供应商和产品ID之外,USB设备描述符还可以包含设备序列号。如果存在,对

c++ - 跨不同计算机识别设备

我在这里阅读:https://kc.mcafee.com/corporate/index?page=content&id=KB53715&cat=CORP_DATA_LOSS_PREVENTION_HOST&actp=LISTHID、PID、VID和GUID嵌入在设备的硬件中。以下是否有意义:我拿了一个USB键盘,将它插入我的电脑。我读出设备的HID、PID、VID和GUID,并将其保存在某个地方。我将此HID、PID、VID和GUID发送到我friend的计算机上。我的friend插入USB键盘。如果HID、PID、VID和GUID匹配,那么我们的键盘类型相同,甚至可以是同一个键盘,

windows - 如何让 USB 设备加载我的功能驱动程序?

我写了一个usb功能驱动。如果我想让插入我计算机的任何USB设备加载此驱动程序而不是其真正的驱动程序,我应该怎么做?我只知道如果在总线驱动程序创建pdo时更改vid/pid,我可以做到。但我不知道是否有简单的方法可以做到这一点。如何改变总线的行为?过滤器驱动程序可以做到吗?平台是Windows。 最佳答案 最好的办法是实现一个HID(HumanInterfaceDevice)司机。通过遵循HID准则,您需要的大部分功能都已得到支持,而无需编写自定义设备驱动程序。这里有一些帮助您入门的链接:使用HID类简化了编写USB设备驱动程序的工

windows - 为 Windows 8 获取稳定的唯一设备 ID

所以有各种各样的帖子,比如thisone关于获取Windows8设备的唯一标识符。然而,也认识到当各种系统组件改变时标识符改变。来自thedocs:HardwaredriftisthereasonwhytheappshouldnotconsumetheASHWIDbytestreamasis.Ifafewhardwarecomponentschangeorareswitchedoff,theAPIreturnsadifferentASHWID.Theapprisksthepossibilityofincorrectlyidentifyingthesamedeviceasanewdevi

windows - DIDEVICEINSTANCE guidInstance 和 guidProduct 在同一设备上发生变化

我在一个项目中使用DirectInput8来监控电脑的各个组件。我们使用DirectInput8来监控操纵杆。通过枚举所有以DI8DEVCLASS_GAMECTRL为类型、以DIEDFL_ATTACHEDONLY为标志的操纵杆来检索数据。最近我注意到我们出现了多个操纵杆。首先,我查看了我们在两次重新启动之间存储组件的xml文件。游戏杆有两个条目,LogitechExtreme3dpro,每个条目都有一个独特的产品指南。我备份了文件并将其删除,在我重新启动机器后下次应用程序启动时有效地强制重新扫描机器。我能够让同样的问题发生并注销guids并且它们每个都不同。该系统只有一个插入的操纵杆,

c# - 如何从 WM_DEVICECHANGE 获取设备信息?

我正在开发一个C#程序,以便在插入设备后立即检索设备的信息。我想问一下,有什么方法可以根据设备插入/拔出时触发的WM_DEVICECHANGE事件获取设备的信息(名称、ID、...).我尝试查看WM_DEVICECHANGE的参数,但其中没有任何内容包含有关设备的信息。提前致谢。 最佳答案 我刚刚在这里回答了类似的问题:https://stackoverflow.com/a/57182910/1886251以下是您需要执行的操作的详细信息:通过WM_DEVICECHANGE获取设备信息您需要在名为RegisterDeviceNoti

android - 访问调制解调器 - Android 设备 (Nexus 5)

Device:GoogleNexus5(Un-rooted)HostMachine:Window7我想将Android设备作为调制解调器访问(使用COM或调制解调器端口)并最终使用HyperTerminal/Teraterm传递AT命令。所以在将设备连接到WindowsBox后,设备在设备管理器下被检测到,但没有显示任何COM端口(默认COM0除外)。右键更新驱动,提示找不到驱动我已经尝试了以下选项,但没有成功。尝试过this在rootNexus5上,但不会公开使用哪个/dev/smdX。尝试了所有组合,但没有用。尝试了GoogleUSBDrivers来自GoogleAndroid的网

c++ - 检测移除打开的串口设备(Qt/Windows)

我有一个Qt应用程序,它通过串口与加密狗通信(它是一个FTDI芯片)。我轮询QSerialPortInfo::availablePorts()以检测何时添加或删除端口,然后向加密狗发送一个空行以识别它(我的加密狗用它的ID对此做出响应,我指望它对99%的其他设备无害)。一切正常,除了如果您在连接处于事件状态时移除加密狗,连接似乎没有关闭并且端口仍在QSerialPortInfo::中返回availablePorts().有谁知道在我连接到串行加密狗时如何检测它的移除(除了像ping之类的黑客攻击)。我试过监听QSerialPort发出的所有信号(error()、readChannelF