草庐IT

USB_HANDLE

全部标签

windows - 无法使用 GNAT Ada 读取 USB com 端口

我正在尝试使用以下方法设置USB串行端口:GNAT.SERIAL_COMMUNICATIONS。我可以打开端口,但是当我尝试设置端口的属性时,出现以下异常raisedGNAT.SERIAL_COMMUNICATIONS.SERIAL_ERROR:set:cannotgetcommstate(6)有什么想法吗?肖恩 最佳答案 由于您使用的不是自然的WindowsCOM端口,而是设备驱动程序创建的额外COM端口,您可能对thisquestion感兴趣(尤其是我对此的回答)。摘要是有时具有正常名称的程序无法访问虚拟COM端口。在放弃"CO

windows - Directshow - 识别内置(集成摄像头)与外部 USB 摄像头

有没有PC摄像头硬件专家碰巧知道PC上的内置(集成)摄像头是否有任何特殊的识别功能,而不是外部USB摄像头?我正在寻找任何可以帮助我确定该设备确实内置于PC且未由用户连接的东西。我已经检查了两种网络摄像头的设备管理器中的每个设备属性,但找不到任何有用的信息。甚至像USB连接命令这样简单的东西(也许内置摄像头会在启动时首先“连接”?)我是USB小白所以请多多包涵... 最佳答案 我认为你做不到。在某些笔记本电脑型号上,“内部摄像头”实际上连接到内部USB集线器。这是我几年前打开我的ASUSEEE901时所意识到的。我很确定这是一个常见

C++ WinSock2 : WSA_INVALID_HANDLE on connect() call

美好的一天!我是一个在高级语言方面有一定经验的程序员,但这是我第一次深入研究低级语言的套接字代码,所以请多多包涵。我似乎在调用connect()时出错。在我的主要函数中,WSAGetLastError()打印出这是错误号6,根据MSDN是WSA_INVALID_HANDLE。这看起来很奇怪,因为在MSDNpagefortheconnect()function上没有详细说明该特定错误代码。(除非我要失明),而且我的谷歌搜索都没有结果我使用的是自定义socket_t结构,因为我的代码旨在(最终)跨平台。socket_connect()函数从主代码页调用。socket_t定义:typedef

c++ - 启用和禁用 USB 端口

谁能告诉我如何使用C/C++启用和禁用USB端口。我已经搜索过一种方法来执行此操作..使用Windows注册表,但它存在一些问题。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\USBSTOR将startvalue的值改成3----解锁4----方block它在Windows7上没有显示正确的行为。例如-当我将起始值的值更改为4时,它会禁用USB端口,但再次启用我们需要重新启动系统,并且在禁用所有端口后还有一件事被禁用,但我们仍然能够使用已经插入的设备。还有其他方法吗? 最佳答案

windows - 以已知速率将数据发送到 USB 端口

我有一个WindowsTCL应用程序,它通过USB端口控制电路板上的各个芯片。我在bitbang模式下使用FTDI驱动程序。Bitbang模式使板上的USB设备像PC并行端口一样。假设电路板上的芯片是一个二进制计数器。如果我想让计数器递增,我会向USB端口写入一系列字节,使芯片计数。如果我希望计数器以某种速率计数,我会以某种已知速率发送这些字节。由于数据是二进制数据,我将端口配置为二进制模式。我将几个控制字节(称为block)写入缓冲区,然后刷新端口,以便将数据发送到USB端口(因此它会在我需要时进行计数)。写入后,我等待一段时间,然后再次写入block。我知道这不会是完美的时机;那没

c - 启动 Windows 驱动程序时出错 : The handle is invalid

我是一名Web开发人员,决定涉足内核模式开发。我安装了WDK8.1、VisualStudioProfessional2013,并设置了Windows7VM来调试和测试我的驱动程序。我从thistutorial开始我下载解决方案并构建驱动程序。我无法执行教程中描述的部署步骤,因此我尝试使用OSRDriverLoader安装驱动程序我能够注册驱动程序,但是当我尝试启动它时出现以下错误。C:\Windows\system32>sc启动KmfSmall[SC]启动服务失败6:句柄无效。这是驱动程序的代码:#include#includeDRIVER_INITIALIZEDriverEntry;

c# - 尝试访问 USB 设备时的 RPC_E_CANTCALLOUT_ININPUTSYNCCALL

我有这段代码:varsearcher=newManagementObjectSearcher("root\\CIMV2","SELECT*FROMWin32_DiskDrive");foreach(varqueryObjinsearcher.Get().Cast())//Errorpointstothisline基本上这段代码所做的是,它遍历已连接设备的列表,并查看我想要的设备是否已连接。如果我在运行代码时设备已经连接时运行此代码,那么它可以完美运行。但是,如果我使用DBT_DEVICEARRIVAL触发此代码(这是系统在连接某些设备时发送的事件,我用捕获它privatestaticI

windows - 我可以使用 win32 Setup API 检测 USB 设备何时插入或拔出吗?

我正在查看http://msdn.microsoft.com/en-us/library/aa376947(v=vs.85).aspx的引用资料(设置API引用)和http://msdn.microsoft.com/en-us/library/windows/hardware/ff549791(v=vs.85).aspx(驱动程序设置API引用)并且我没有看到一个函数可以让我注册一个函数,该函数将在特定设备/硬件ID/驱动程序key/或任何出现时被调用。有人知道我会怎么做吗?理想情况下,我想在用户空间中进行这种检测,但如果有必要,我可以在内核空间中进行检测。

windows - 尝试使用 DeviceID 字段从 WMI 查询中唯一标识 USB 设备

当查询WMI并返回设备列表时,我注意到DeviceID字符串末尾的一些信息,到目前为止我在任何地方都没有记录这些信息。以下是从查看Win32_PnPEntity的WMI查询返回的DeviceID字符串的示例:USB\VID_046D&PID_082D&MI_00\7&3538A2BF&0&0000现在,前两部分——“USB”以及VID和PID都得到了很好的记录,“接口(interface)编号”——&MI_XX也是如此。但是,字符串的最后一部分(如下所示)在我看过的任何地方都没有记录。我什至不知道如何称呼DeviceID字符串的这一部分:\7&3538A2BF&0&0000奇怪的是,它

c++ - 在 CreateProcess 之后调用 GetModuleFileNameEx 时出现 ERROR_INVALID_HANDLE

成功调用CreateProcess后,我尝试使用GetModuleFileNameEx获取创建的进程的路径(lpApplicationName和lpCommandLine参数可以变化或为空,因此在这种情况下它们不可靠)。问题是GetModuleFileNameEx失败并出现错误6(ERROR_INVALID_HANDLE),从而使其缓冲区中包含无效数据。我无法理解原因,因为CreateProcess成功并且进程句柄应该已正确保存在pi.hProcess中。希望您能有所启发,在此先感谢您!编辑:更新:我注意到删除CREATE_SUSPENDED也可以解决此问题,但我需要设置该标志。我该怎