蓝牙HID设备的device id [问题点数:100分,结帖人yellowhwb]

Bbs3
本版专家分:681
结帖率 100%
获取android 设备ID (device ID)
运行的环境> 2.3.3 或者是andro<em>id</em> sdk 10
Device Class Definition for HID
Device Class Definition for HID v1.11
HID device coding example
HID <em>device</em> coding example
USB HID device connection
USB HID <em>device</em> connection
如何得到hid设备的report id
微软有什么函数能获得<em>设备</em>的report <em>id</em> 吗?
如何得到 ras modem 设备device ID
我用 : RasEnumDevices 取得所有ras modem <em>设备</em>的名称,rn但是如何根据名称得到 ras modem <em>设备</em>的 <em>device</em> ID,rn用于 lineOpen ???
关于android设备唯一区分device id的取得
有些apk为了区分唯一<em>设备</em>,需要用到一个<em>device</em> <em>id</em>。 1. 取得<em>设备</em>的MAC address    如果用户没有通过wifi连网路的话,就无法取得。 2. 使用TelephonyManager的getDeviceId() 3. 另外还有一个andro<em>id</em>系统的唯一区分ANDROID_ID,    Settings.Secure#ANDROID_ID returns the And
device设备
@ResponseBody @GetMapping("/list") public PageUtils list(@RequestParam Map&lt;String, Object&gt; params){ //实例化查询 Query query = new Query(params); //创建<em>设备</em>集合 List&lt;DeviceDO&gt; <em>device</em>List=ne...
蓝牙 HID 剖析(一)
1.概述     The Human Interface Device (HID)定义了<em>蓝牙</em>在人机接口<em>设备</em>中的协议、特征和使用规程。典型的应用包括<em>蓝牙</em>鼠标、<em>蓝牙</em>键盘、<em>蓝牙</em>游戏手柄等。该协议改编自USB HID Protocol。      2.一些概念 (1)HID Reports:Bluetooth HID <em>device</em>s支持三种Report:Input, Output, and Fea
蓝牙标准HID协议
<em>蓝牙</em>标准的HID协议,英文原版。可以用于<em>蓝牙</em>产品开发。
蓝牙HID的应用
[size=14px]有没有谁做过<em>蓝牙</em>HID的profile应用的开发的啊,能否分享一下开发的经验。rn现在想模拟一个简单的HID键盘数据的收发功能,现有两个包含<em>蓝牙</em>芯片的linux系统,linux内核中包含有bluez的协议栈。rn如果说想完成HID的开发应该从哪几个方面入手?rnLinux内核中有<em>h<em>id</em></em>d模块,不知道在linux内核里面是否已经完成了整个HID的规范实现?rn毫无眉目啊,忘各位大牛点播点播,谢谢了~~~~~~~~~~~[/size]
蓝牙HID协议笔记
1.概述     The Human Interface Device (HID)定义了<em>蓝牙</em>在人机接口<em>设备</em>中的协议、特征和使用规程。典型的应用包括<em>蓝牙</em>鼠标、<em>蓝牙</em>键盘、<em>蓝牙</em>游戏手柄等。该协议改编自USB HID Protocol。      2.一些概念 (1)HID Reports:Bluetooth HID <em>device</em>s支持三种Report:Input, Output,
蓝牙HID无线触摸屏
写在前面 主机:Andro<em>id</em> 5.0+ 内核3.4 从机:SensorTile 先上一个效果图 原理解析 HID事件到Andro<em>id</em>屏幕上经历发如下过程: HID =&amp;amp;amp;amp;gt; linux kernel input子系统 =&amp;amp;amp;amp;gt; Andro<em>id</em> input子系统 HID是标准的输入协议,对于不同的操作系统而言,也有自己的input子系统。 Andro<em>id</em>层要求 ...
Android蓝牙——HID开发
代码地址如下:http://www.demodashi.com/demo/13891.html 原文地址: https://blog.csdn.net/VNanyesheshou/article/details/61914974 一 环境 开发环境:  jdk1.6 Eclipse  or jdk1.8 AS3.0.1 运行环境:  华为V10(Andro<em>id</em>8.0) 实现功能:  Andro...
蓝牙HID协议
完整的<em>蓝牙</em>HID协议,好不容易才找到的。
蓝牙HID协议介绍
1.概述     The Human Interface Device (HID)定义了<em>蓝牙</em>在人机接口<em>设备</em>中的协议、特征和使用规程。典型的应用包括<em>蓝牙</em>鼠标、<em>蓝牙</em>键盘、<em>蓝牙</em>游戏手柄等。该协议改编自USB HID Protocol。      2.一些概念 (1)HID Reports:Bluetooth HID <em>device</em>s支持三种Report:Input, Output,
Device Class Definition for HID 1.11
The Device Class Definition for HID 1.11 is intended to supplement the USB Specification and prov<em>id</em>e HID manufacturers with the information necessary to build USB-compatible <em>device</em>s. It also specifies how the HID class driver should extract data from USB <em>device</em>s. The primary and underlying goals of the HID class definition are to: > be as compact as possible to save <em>device</em> data space > allow the software application to skip unknown information > be extensible and robust > support nesting and collections > be self-describing to allow generic software applications
Linux USB HID Device 测试代码
Linux USB HID Device 测试代码:亲测可用(注意:必须配合你自己的板子的HID DRIVER 才能测试)
HID设备发送消息
基本结构如下: 1.分配usb_driver 2.设置 3.注册(usb_register()) /* 1. 分配/设置usb_driver */ static struct usb_driver myusb_driver = { .name = "usbmouse_as_key_", .probe = myusb_probe, .disconnect = myusub_dis...
人机接口设备(HID)
目前市场上USB<em>设备</em>的种类繁多,但是这些<em>设备</em>会有一些共同的特性,根据这些特性可以把USB<em>设备</em>划分为不同的类,如显示<em>设备</em>、通信<em>设备</em>、音频<em>设备</em>、大容量存储<em>设备</em>、人机接口<em>设备</em>(HID)。这里介绍如何实现HID类<em>设备</em>,以及如何在应用程序中对HID类<em>设备</em>进行访问。从Windows98操作系统开始,为HID类<em>设备</em>提供了通用的驱动程序,所以只要按照HID<em>设备</em>类的规范编写<em>设备</em>的固件程序,就能够让Windows系统
HID 设备类读写
HID <em>设备</em>类读写 #include //! Defines the maximum length of a serial number #define SERNUM_LEN 40 //! Defines the maximum number of physical <em>device</em>s #define MAX_PHYS_DEVICES 6 //! \name HID Device return codes //! @{ // //! HID action/transfer was successful #define HID_DEVICE_SUCCESS 0x00 //! HID <em>device</em> was not found #define HID_DEVICE_NOT_FOUND 0x01 //! HID <em>device</em> is not opened #define HID_DEVICE_NOT_OPENED 0x02 //! HID <em>device</em> is allready opened #define HID_DEVICE_ALREADY_OPENED 0x03 //! Timeout occurs during transfer #define HID_DEVICE_TRANSFER_TIMEOUT 0x04 //! HID transfer failed #define HID_DEVICE_TRANSFER_FAILED 0x05 //! Inval<em>id</em> handle #define HID_DEVICE_HANDLE_ERROR 0x06 //! Unknown error #define HID_DEVICE_UNKNOWN_ERROR 0xFF //! @} // Enabled only when debugging HID connection issues //#define DEBUG_MODE //****************************************************************************** // //! \brief Device information structure. // //****************************************************************************** struct strH<em>id</em>Device{ //! Handle for <em>h<em>id</em></em> <em>device</em> HANDLE hndH<em>id</em>Device; //! Indicator if <em>device</em> is opened BOOL bDeviceOpen; //! Timeout for GetReport requests UINT uGetReportTimeout; //! Timeout for SetReport requests UINT uSetReportTimeout; //! Asynchronous I/O structure OVERLAPPED oRead; //! Asynchronous I/O structure OVERLAPPED oWrite; //! Maximum length of InReport's WORD wInReportBufferLength; //! Maximum length of OutReport's WORD wOutReportBufferLength; //! InBuffer contains data, if InReport prov<em>id</em>es more data then the application actual need BYTE inBuffer[8192]; //! Number of current used bytes in inBuffer WORD inBufferUsed; }; //****************************************************************************** // //! A structure that tracks the number of serial numbers // //****************************************************************************** struct strTrackSerialNumbers { //! Index number DWORD <em>device</em>Num; //! Serial number of physical <em>device</em> char serialNum[SERNUM_LEN]; }; //****************************************************************************** // //! \addtogroup <em>h<em>id</em></em><em>device</em>_api //! @{ // //****************************************************************************** //****************************************************************************** // //! \brief Close a HID Device. //! //! This function will close a HID <em>device</em> based on the HID structure //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em> //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_NOT_OPENED //! \n \b HID_DEVICE_HANDLE_ERROR // //****************************************************************************** BYTE HID_Close(struct strH<em>id</em>Device* pstrH<em>id</em>Device); //****************************************************************************** // //! \brief Flush USB buffer for the given <em>device</em> //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em>. //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_HANDLE_ERROR //! \n \b HID_DEVICE_UNKNOWN_ERROR // //****************************************************************************** BYTE HID_FlushBuffer(struct strH<em>id</em>Device* pstrH<em>id</em>Device); //****************************************************************************** // //! \brief Gets the number of HID <em>device</em>s //! //! This function will return the number of interfaces connected with a //! specified VID, PID and serial number, if no <em>device</em>s are connected, //! it will return a 0 //! //! \param v<em>id</em> Vendor-Id of the <em>device</em> //! \param p<em>id</em> Product-Id of the <em>device</em> //! \param numSerNums Total number of connected physical <em>device</em>s //! //! \return Return the number of connected <em>device</em>s with the specific VID, PID, //! and serial number. // //****************************************************************************** DWORD HID_GetNumOfInterfaces(WORD v<em>id</em>, WORD p<em>id</em>, DWORD numSerNums); //****************************************************************************** // //! \brief Gets the number of serial number and serial number list //! //! Scans the HID Devices on the system for any whose VID/PID match the //! ones specified. For every one it finds, it returns that <em>device</em>'s //! serial number in serialNumList. Every physical USB <em>device</em> within a //! given VID/PID space has a unique serial number; therefore, each //! item in the list corresponds with a separate physical USB <em>device</em> //! attached to this host; that is, different physical instances of the //! same product or design. The function returns the total number of //! serial numbers found; if none are found, it returns 0. //! //! \param v<em>id</em> Vendor-ID of the <em>device</em> //! \param p<em>id</em> Product-ID of the <em>device</em> //! \param serialNumList List of serial numbers corresponding to the passed //! VID and PID //! //! \return Returns the number of connected physical <em>device</em>s with the specific //! VID and PID // //****************************************************************************** DWORD HID_GetSerNums(WORD v<em>id</em>, WORD p<em>id</em>, struct strTrackSerialNumbers * serialNumList); //****************************************************************************** // //! \brief Returns the version number of a <em>device</em>. //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em>. //! \param VersionNumber Pointer to USHORT variable. //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_HANDLE_ERROR // //****************************************************************************** BYTE HID_GetVersionNumber(struct strH<em>id</em>Device* pstrH<em>id</em>Device, USHORT * VersionNumber); //****************************************************************************** // //! \brief Init structure with default values. //! //! It is important to call HID_Init() before calling HID_Open() to //! avo<em>id</em> unpredictable behavoir. //! //! \param pstrH<em>id</em>Device Structure which contains important data of a HID //! <em>device</em> //! //! \return None // //****************************************************************************** vo<em>id</em> HID_Init(struct strH<em>id</em>Device* pstrH<em>id</em>Device); //****************************************************************************** // //! \brief This has to be called ins<em>id</em>e WM_ON_DEVICECHANGE notification window //! //! This function checks if the particular HID <em>device</em> structure is //! still connected or disconnected. //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em>. //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_HANDLE_ERROR // //****************************************************************************** BOOL HID_IsDeviceAffected(struct strH<em>id</em>Device* pstrH<em>id</em>Device); //****************************************************************************** // //! \brief Open a HID Device. //! //! This function opens the HID <em>device</em> associated with the HID interface //! '<em>device</em>Index' (0-7), on the physical <em>device</em> described by the VID, //! PID, and serial number. //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em> //! \param v<em>id</em> Vendor-ID of the <em>device</em> //! \param p<em>id</em> Product-ID of the <em>device</em> //! \param <em>device</em>Index Index of the <em>device</em>.If only one HID is connected, //! <em>device</em>Index is 0. //! - Starts with zero //! - Maximum value is (HID_GetNumOfInterfaces() - 1) //! \param serialNumber Serial number of <em>device</em> to be opened. //! \param totalDevNum Total number of interfaces associated with the //! serial number //! \param totalSerNum Total number of physical <em>device</em>s associated with //! the VID/PID //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_NOT_FOUND //! \n \b HID_DEVICE_ALREADY_OPENED // //****************************************************************************** BYTE HID_Open(struct strH<em>id</em>Device* pstrH<em>id</em>Device, WORD v<em>id</em>, WORD p<em>id</em>, DWORD <em>device</em>Index, char serialNumber[SERNUM_LEN], DWORD totalDevNum, DWORD totalSerNum); //****************************************************************************** // //! \brief Reads a data stream from the given HID <em>device</em>. //! //! Prefixed report ID will be skipped. //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em> //! \param buffer Pointer to buffer in which will be written //! \param bufferSize Number of bytes to read //! \param bytesReturned Number of actual read bytes //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_NOT_OPENED //! \n \b HID_DEVICE_TRANSFER_TIMEOUT //! \n \b HID_DEVICE_TRANSFER_FAILED // //****************************************************************************** BYTE HID_ReadFile(struct strH<em>id</em>Device* pstrH<em>id</em>Device, BYTE* buffer, DWORD bufferSize, DWORD* bytesReturned); //****************************************************************************** // //! \brief Registers a <em>device</em> for program Windows notification. //! //! Registers the window pointed to by handle hWnd to receive //! notification when <em>device</em>s are added or removed from the system. //! //! \param hWnd Windows handle //! \param diNotifyHandle Device notification handle pointer address //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_HANDLE_ERROR // //****************************************************************************** BYTE HID_RegisterForDeviceNotification(HWND hWnd, HDEVNOTIFY* diNotifyHandle); //****************************************************************************** // //! \brief Un-Registers a <em>device</em> from Windows notification. //! //! Un-registers the window pointed to by handle hWnd to receive //! notification when <em>device</em>s are added or removed from the system. //! //! \param diNotifyHandle: Device notification handle pointer address. //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_HANDLE_ERROR // //****************************************************************************** BYTE HID_UnRegisterForDeviceNotification(HDEVNOTIFY* diNotifyHandle); //****************************************************************************** // //! \brief Writes a data stream to the given HID <em>device</em>. //! //! Needed report IDs will be generated automatically. //! //! \param pstrH<em>id</em>Device Structure which contains important data of an HID //! <em>device</em> //! \param buffer Buffer which will be send //! \param bufferSize Number of bytes to send //! //! \return Returns the error status, as one of //! \n \b HID_DEVICE_SUCCESS //! \n \b HID_DEVICE_NOT_OPENED //! \n \b HID_DEVICE_TRANSFER_TIMEOUT //! \n \b HID_DEVICE_TRANSFER_FAILED // //****************************************************************************** BYTE HID_WriteFile(struct strH<em>id</em>Device* pstrH<em>id</em>Device, BYTE* buffer, DWORD bufferSize);
MFC下HID设备读写
MFC下HID的上位机程序 包括打开<em>设备</em>、关闭<em>设备</em>和文件的读写操作 已经封装好DLL 修改VID和PID 可以直接使用 ,MFC包括IO操作,单通道读写和全部通道读写,波形显示AD数据,界面美观
HID设备类详解
HID<em>设备</em>类 Base Class 03h (HID – Human Interface Device) This base class is defined for <em>device</em>s that conform to the HID Device Class Specification found on the USB-IF website. That specification d
操作HID类设备
易语言操作HID的类 支持库,只可读不可写
stm32 hid设备
stm32 usb和pc通信调试技术,<em>h<em>id</em></em><em>设备</em>类驱动和pc机的通信
usb通信 hid设备
用c++编写的 可根据自己的需要稍微改动
Ubuntu下hid设备通信
usb的<em>h<em>id</em></em><em>设备</em>在xp用Bus Hound测得CTL,DI,DO的值,在Ubuntu下要对<em>h<em>id</em></em><em>设备</em>进行读写,是不是需要将每个CTL值写入呢?
HID设备类定义中文版
HID<em>设备</em>类定义的中文版,本汉语版为USB爱好都编写,仅供参考。为保证原书语意,书中的专有名词均采用英语原文。原书为 ”Device Class Definition for Human Interface Device(HID)”。
hid设备通讯
<em>h<em>id</em></em>源代码,支持windows、linux、mac os、libusb等平台。
自定义HID设备编程
自定义HID<em>设备</em>编程的上位机和下位机代码
HID设备打开
如何与HID<em>设备</em>通讯(二)
c++builder与HID设备
我有一个HID<em>设备</em>,我要写一个应用程序,控制它,这要调用许多HIDD_XXXX,SETUDI_XXX之类的API,我一直习惯用C++BULDER5,可我发现它不支持这些API,我把NTDDK中的与HID相关的.lib和.h文件及setupapi.h,setupapi.lib,都烤过来,也不行。请问:如何让它支持HID?到哪里能找到补丁?我用的c++bulder 5.0
HID设备通讯
PC端标准的HID<em>设备</em>通讯,可以发送接收指令.
C#读写HID设备
网上下载的C#读写HID的代码修改的,https://blog.csdn.net/u010875635/article/details/73321066,没积分请到https://github.com/beatfan/HID_Communication下载原始代码。
HID设备读写
哥 让咪咪免费下USB<em>设备</em>简单通讯,比如键盘 鼠标的读写信息,若其他HID<em>设备</em>,则稍微改下,就OK了
USB接口HID设备
资料描述HID接口及windows下HID接口程序开发
关于HID设备与WM_DEVICECHANGE
各位,问一个问题,当HID<em>设备</em>如USB鼠标或键盘插上或拔除时,系统向各窗口发送WM_DEVICECHANGE消息所带的wParam,lParam等相关信息,我在程序中试了一下,插入USB鼠标,系统收到4条WM_DEVICECHANGE消息,wParam都显示为0X07,VC中有#define DBT_DEVNODES_CHANGED 0x0007 而拔除USB鼠标系统收到2条WM_DEVICECHANGE消息,wParam都显示为0X07 而插入或拔除U盘时系统除了收到几条WM_DEVICECHANGE消息,wParam都显示为0X07外, 还有分别有wParam显示为0X8000或0x8004 ,VC中#define BT_DEVICEARRIVAL 0x8000,#define DBT_DEVICEREMOVECOMPLETE 0x8004,那请问HID<em>设备</em>如USB鼠标或键盘插上或拔除时WM_DEVICECHANGE消息的wParam有什么规律,有没有熟悉的,指导指导rnrnrn另我在程式的消息循环中,处理WM_DEVICECHANGE消息,即窗口每收到一个WM_DEVICECHANGE消息,即使用一个消息框把该消息的wParam值显示出来,我的程序运行后,当HID<em>设备</em>如USB鼠标或键盘插上或拔除时,或插入或拔除U盘时收到的消息如上所述收到那些消息,但是我让我的程序一直开着,不插拔任何USB鼠标或键盘或U盘(不插拔任何<em>设备</em>,间隔大概7至8分钟左右,我发现程序中每次还是弹出3个消息框,显示wParam值为0x0007,我看到<em>设备</em>管理器窗口也闪一下,但我试着找是否有相关时而断开,时而连上,而导致窗口收到WM_DEVICECHANGE,基本没发现什么硬件有问题啊,有没有谁知道是咋会事?
HID 设备操作控件
一个VB.net写的HID操作控件,可以在VB或者C#程序来调用,调用的方法很简单,功能不错。
HID设备的研究总结
HID<em>设备</em>的研究总结 闭关的这段时间里主要完成了公司的一个项目的收尾与交接,是涉及C++、C#的一些知识点。同时最近刚结束了HID<em>设备</em>的研发,结果是该项目最终放弃了。。。还是蛮遗憾的。作为这方面的研发小白,整理一下其中的心血历程是十分重要的,帮自己也是帮别人。 <em>设备</em>的定义以及上位机与下位机的开发、相关参数的定义这里就不说了,百度一堆的东西(看都看不过来)。这里主要介绍我在开发过程中遇到的问题(...
hid设备的读取
我用ReadFil来读取一个标准<em>h<em>id</em></em><em>设备</em>的信息,此<em>设备</em>有两个端点0,1,但我总是读出来的是0端点的数据,请问怎么样才能读取1端点的数据,最好是能提供简单示例代码,谢谢
Hid设备再查找
GUID H<em>id</em>Gu<em>id</em>;rn bool beFind=false;//找到USB<em>设备</em>标志!rn bool res=false;rn CString enumStr;rn ULONG need=0;rn int enumIndex=0;//枚举序号!rn HDEVINFO pInfo;rn HIDD_ATTRIBUTES pAttr;rn HIDP_CAPS hCaps;rn PHIDP_PREPARSED_DATA pParsendData;rn rnrn H<em>id</em>D_GetH<em>id</em>Gu<em>id</em>(&H<em>id</em>Gu<em>id</em>);rn pInfo=SetupDiGetClassDevs(&H<em>id</em>Gu<em>id</em>,NULL,NULL,DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);rn while(!beFind)rn rn PSP_DEVINFO_DATA pDevInfo;rn SP_DEVICE_INTERFACE_DATA pInterface;rn PSP_DEVICE_INTERFACE_DETAIL_DATA pDetail;rn pInterface.cbSize=sizeof(SP_DEVICE_INTERFACE_DATA);rn SetupDiEnumDeviceInterfaces(pInfo,0,&H<em>id</em>Gu<em>id</em>,enumIndex,&pInterface);rn if(!SetupDiGetDeviceInterfaceDetail(pInfo,&pInterface,0,0,&need,0))rn rn pDetail=(SP_DEVICE_INTERFACE_DETAIL_DATA *)new BYTE[need];rn pDetail->cbSize=sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);rn res=SetupDiGetDeviceInterfaceDetail(pInfo,&pInterface,pDetail,need,NULL,NULL);rn int code = GetLastError();rn // TRACE(pDetail);rn TRACE(pDetail->DevicePath);rn TRACE(_T("\n"));rn enumStr.Format(_T("%s"),pDetail->DevicePath);rn hDl=CreateFile(enumStr,GENERIC_READ|GENERIC_WRITE,NULL,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);rn /* if(hDl==INVALID_HANDLE_VALUE)rn rn enumIndex++;rn delete []pDetail;rn Sleep(100);rn continue;rn */rn rn H<em>id</em>D_GetAttributes(hDl,&pAttr);rn if((pAttr.ProductID==PID)&&(pAttr.VendorID==VID))rn rn H<em>id</em>D_GetPreparsedData(hDl,&pParsendData);rn H<em>id</em>P_GetCaps(pParsendData,&hCaps);rn InSize = hCaps.InputReportByteLength;rn OutSize = hCaps.OutputReportByteLength;rn beFind=true;rn delete []pDetail;rn hDl;rn return true;rn rn elsern rn CloseHandle(hDl);rn delete []pDetail;rn enumIndex++;rn rn rn rn rn rn rn return false;rnrn代码如上, 代码首次运行能准确的找到USB<em>设备</em>。但是当外界将USB<em>设备</em>拔出后,再接入入后。第二次调用该函数时(非工程关闭),该段函数怎么也找不到 需要的<em>h<em>id</em></em>。但是将exe文件重新启动后,仍然可以找到。那位帮忙找找原因啊!
USB 协议分析之 HID 设备
1. 简述         USB HID类是USB<em>设备</em>的一个标准<em>设备</em>类,包括的<em>设备</em>非常多。HID类<em>设备</em>定义它属于人机交互操作的<em>设备</em>,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID<em>设备</em>类不一定要有人机接口,只要符合HID类别规范的<em>设备</em>都是HID<em>设备</em>。    USB HID<em>设备</em>的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用...
HID设备开发应用
市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪。无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候。刚好最近在研究一款HID <em>设备</em>,在这方面做了一些探索。首先工具一定要利索,最好能武装到牙齿,下面的三个工具最好都有,否则就回到了石器时代bus houndusb <em>device</em> viewer<em>h<em>id</em></em> descriptor tool文档是一定要
Android系统支持HID设备
背景:系统以
HID设备开发流程图
USB <em>h<em>id</em></em> 开发简单,应用方便。本材料值得一看!
HID设备与WM_DEVICECHANGE消息
各位,问一个问题,当HID<em>设备</em>如USB鼠标或键盘插上或拔除时,系统向各窗口发送WM_DEVICECHANGE消息所带的wParam,lParam等相关信息,我在程序中试了一下,插入USB鼠标,系统收到4条WM_DEVICECHANGE消息,wParam都显示为0X07,VC中有#define DBT_DEVNODES_CHANGED 0x0007 而拔除USB鼠标系统收到2条WM_DEVICECHANGE消息,wParam都显示为0X07 而插入或拔除U盘时系统除了收到几条WM_DEVICECHANGE消息,wParam都显示为0X07外, 还有分别有wParam显示为0X8000或0x8004 ,VC中#define BT_DEVICEARRIVAL 0x8000,#define DBT_DEVICEREMOVECOMPLETE 0x8004,那请问HID<em>设备</em>如USB鼠标或键盘插上或拔除时WM_DEVICECHANGE消息的wParam有什么规律,有没有熟悉的,指导指导 rnrnrn另我在程式的消息循环中,处理WM_DEVICECHANGE消息,即窗口每收到一个WM_DEVICECHANGE消息,即使用一个消息框把该消息的wParam值显示出来,我的程序运行后,当HID<em>设备</em>如USB鼠标或键盘插上或拔除时,或插入或拔除U盘时收到的消息如上所述收到那些消息,但是我让我的程序一直开着,不插拔任何USB鼠标或键盘或U盘(不插拔任何<em>设备</em>,间隔大概7至8分钟左右,我发现程序中每次还是弹出3个消息框,显示wParam值为0x0007,我看到<em>设备</em>管理器窗口也闪一下,但我试着找是否有相关时而断开,时而连上,而导致窗口收到WM_DEVICECHANGE,基本没发现什么硬件有问题啊,有没有谁知道是咋会事?
Android HID设备的连接
H<em>id</em>是Human Interface Device的缩写,由其名称可以了解HID<em>设备</em>是直接与人交互的<em>设备</em>,例如键盘、鼠标与游戏手柄等。 我们知道在手机设置--<em>蓝牙</em>功能界面可以手动搜索<em>蓝牙</em>HID<em>设备</em>并进行连接,这篇博客就是介绍如何在andro<em>id</em>代码中实现HID<em>设备</em>的连接。最后会给出完整的代码工程。一个前提条件是andro<em>id</em>4.0以上才支持HID<em>设备</em>。 andro<em>id</em>手机与<em>蓝牙</em>HID<em>设备</em>连接的
HID设备
HID是Human Interface Devices的缩写,即人机接口<em>设备</em>。HID的一大优势就是操作系统已经内置了HID<em>设备</em>类驱动,一般不需要安装驱动程序。通用的HID<em>设备</em>可以直接使用HID<em>设备</em>类驱动程序(<em>h<em>id</em></em>class.sys)和HID小驱动程序(<em>h<em>id</em></em>usb.sys)。1.HID<em>设备</em>的特点  HID<em>设备</em>类可以参考两个文档: USB Device Class Definition for
USB HID 设备设置
STM32 USB-HID通源代码,附带PC软件源程序。具体请看文章http://blog.csdn.net/cy757/archive/2010/12/17/6083198.aspx
HID 设备访问
本本程序用于获取HID<em>设备</em>的<em>设备</em>路径,以便后面的WriteFile 和 ReadFile函数使用。 1资源分, 就当给点辛苦费吧! 如有使用上的以后可以发送问题到bai030811@163.com
USB HID设备数据读取
罗技科技的G29游戏方向盘的数据接口为USB类型的,是否可以通过VC++将操作员操作G29游戏用方向盘的方向盘转角,加速踏板、制动踏板、离合器踏板行程或负荷率等信息,档位信息采集出来。如果可以,请问采集信息操作步骤大致是怎样的。rn本人没用过G29游戏用方向盘,求科普。
HID设备的报告描述符
2、报告描述符    HID<em>设备</em>的报告描述符比较复杂也比较难理解。    报告描述符的语法不同于USB标准描述符,它是以项目(items)方式排列而成,无一定的长度。HID的报告描述符已经不是简简单单的描述某个值对应某个固定意义了,它已经能够组合出很多种情况,并且需要PC上的HID驱动程序提供parser解释器来对描述的<em>设备</em>情形进行重新解释,进而组合生成出本HID硬件<em>设备</em>独特的数据流格式,所以
HID设备读写源代码
WinXP下对HID<em>设备</em>进行操作的源代码.
HID 设备开发
市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪。无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候。 刚好最近在研究一款HID <em>设备</em>,在这方面做了一些探索。 首先工具一定要利索,最好能武装到牙齿,下面的三个工具最好都有,否则就回到了石器时代 bus hound usb <em>device</em> viewer <em>h<em>id</em></em> descriptor
HID设备的开发
市面上一些无驱的usbkey 一直是技术卖点,象招商银行的usbkey 就一直以无需安装驱动自豪。无驱动的usbkey确是比较方便,尤其在使用别人的计算机的时候。 刚好最近在研究一款HID <em>设备</em>,在这方面做了一些探索。 首先工具一定要利索,最好能武装到牙齿,下面的三个工具最好都有,否则就回到了石器时代 bus hound usb <em>device</em> viewer <em>h<em>id</em></em> descriptor
VC HID设备
关于USB-HID开发: ====================================================== #include extern "C" { // Declare the C libraries used #include "setupapi.h"  // Must link in setupapi.lib #include "<em>h<em>id</em></em>sdi.h"
hid设备读写测试程序
使用lib<em>h<em>id</em></em> API在linux平台上的<em>h<em>id</em></em><em>设备</em>读写测试程序。
hid设备头文件
哥 让你们免费下载HID<em>设备</em>读写通信里涉及到的头文件,包括<em>h<em>id</em></em>pi.h <em>h<em>id</em></em>sdi.h <em>h<em>id</em></em>usage.h以及链接库
hid设备双向通信.rar
STM32F407 USB HID DEVICE双向通信源码,可实现双向通信,与主机连接收发功能已测试
HID设备类驱动程序
第一章 HID<em>设备</em>类概述 3 一. HID<em>设备</em>特点 3 二. HID<em>设备</em>的识别 4 第二章HID<em>设备</em>类描述符 5 一. HID描述符 5 二. 报表描述符 6 1 main 项目 7 2 Global 项目 8 3 Local 项目 8 三 物理描述符 9 四 标准键盘描述符分析 9 第三章HID<em>设备</em>类请求 11 一 GETREPORT 请求 11 二 SETREPORT 请求 12 三 GETIDLE 请求 12 四 SETIDLE 请求 12 五 GETPROTOCOL 请求 12 六 SETPROTOCOL 请求 12 第四章 HID<em>设备</em>驱动 13 一 驱动程序层次关系 13 二 程序关键回调函数部分 13
USB HID设备测试工具
USB HID 测试工具,欢迎体验
USB 自定义HID设备
stm32上面的USB 自定义HID<em>设备</em> 的程序,阿莫论坛上面分享的
HID设备遍历
delphi 遍历本机HID<em>设备</em>并显示。代码在winXP下编译通过
USB Hid设备的区分
请问如何区别HID<em>设备</em>?rn每个H<em>id</em><em>设备</em>都有Gu<em>id</em>吗?或者类似GUID,能辨别出某一个<em>设备</em>。rn谢谢!rnrn注:我用SetupDiGetDeviceRegistryProperty 或者 TJvH<em>id</em>Device.PnPInfo.FClassGUID 取出两个<em>设备</em>的Gu<em>id</em>,是相等的。
读写hid设备的问题
编写了一个读写<em>h<em>id</em></em><em>设备</em>的程序。(winxp+vc6.0)rnrn开始运行程序时rnH<em>id</em>D_GetH<em>id</em>Gu<em>id</em> 和 SetupDiGetClassDevs都调用成功rn但是程序第一次运行到SetupDiEnumDeviceInterfaces时,就返回ERROR_NO_MORE_ITEMS的错误,表示没有任何可以利用的<em>device</em> interface。rnrn不过我的pc上确实有usb mouse,请问一下为什么会出现这样的问题。多谢。
标准蓝牙HID规范V1.0
英文版<em>蓝牙</em>HID规范,对于研究HID的同志有帮助,与大家共同分享。
蓝牙HID解决方案技术白皮书
<em>蓝牙</em>HID解决方案技术白皮书,全中文介绍,很不错!
蓝牙hid协议源码解析
1,概述 1.1 HID协议 HID协议: Hunman Interface Device Profile人机交互<em>设备</em>协议 使用场景:支持人机交互<em>设备</em>之间的控制 市场产品:<em>蓝牙</em>键盘,<em>蓝牙</em>鼠标,<em>蓝牙</em>游戏手柄等。 1.2 代码路径 客户端: frameworks\base\core\java\andro<em>id</em>\bluetooth 服务端: packages\apps\Blue
BLE蓝牙hid键盘表
实测可用。 uint8_t RC_<em>h<em>id</em></em>s_map[] = { 0x05, 0x01,   // Usage Pg (Generic Desktop) 0x09, 0x06,   // Usage (Keyboard) 0xA1, 0x01,   // Collection: (Application) 0x85, 0x01,   // Report Id (1) /
adb device找不到设备
系统从ubuntu,xp,换到win7,机器从实体机到虚拟机换了4台,运行adb <em>device</em>s始终如一,死活就是找不到<em>设备</em>。折腾了一天,终于adb能找到<em>设备</em>了,记录一下,备忘。 [plain] view plaincopy smx@smx-Think:~$ adb <em>device</em>s  List of <em>device</em>s attached     smx@smx-Think:~$
fastboot device找不到设备
在fastboot模式和adb模式下VID都是18d1,现在客户要修改fastboot的VID和adb的VID不一样,但是现在修改完fastboot的VID之后,lsusb后也显示正确修改了,51-andro<em>id</em>.rules页修改了,但是现在fastboot <em>device</em>找不到<em>设备</em>,是不是还需要修改什么地方阿?
Device Compatibility(设备兼容性)
文章转载禁止用于商业用途,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处莫高雷草原以及作者@JiongBull。 访问Andro<em>id</em> API指南目录索引查看全部翻译 <em>设备</em>兼容性 Andro<em>id</em>被设计成能在各种不同类型的<em>设备</em>上运行,比如手机、平板和电视。对于开发者而言,数量庞大的<em>设备</em>为你的应用提供了巨大潜在受众。为了让你的应用能成功的在这些<em>设备</em>上运行,你的应用应该
杂项设备(misc device
杂项<em>设备</em>(misc <em>device</em>)杂项<em>设备</em>也是在嵌入式系统中用得比较多的一种<em>设备</em>驱动。在 Linux 内核的include/linux目录下有Misc<em>device</em>.h文件,要把自己定义的misc <em>device</em>从<em>设备</em>定义在这里。其实是因为这些字符<em>设备</em>不符合预先确定的字符<em>设备</em>范畴,所有这些<em>设备</em>采用主编号10 ,一起归于misc <em>device</em>,其实misc_register就是用主标号10调用register_chrdev()的。也就是说,misc<em>设备</em>其实也就是特殊的字符<em>设备</em>。
Device Orientation——设备方向
This example shows how to track changes in <em>device</em> orientation. 这个例子用来展示如何去追踪<em>设备</em>方向的改变。 代码: Device Orientation track changes
设备驱动模型之device
linux的<em>设备</em>驱动模型,是建立在sysfs和kobject之上的,由总线、<em>设备</em>、驱动、类所组成的关系结构。从本节开始,我们将对linux这一<em>设备</em>驱动模型进行深入分析。      头文件是include/linux/<em>device</em>.h,实现在drivers/base目录中。本节要分析的,是其中的<em>设备</em>,主要在core.c中。 struct <em>device</em> {      struct devi
关于Android Device ID
关于andro<em>id</em> <em>设备</em>的唯一标识,搜索了一下,发现并没有一个比较“通吃”的方法,都是依赖<em>设备</em>的具体硬件功能,在这里请问怎么获取Andro<em>id</em> Pad<em>设备</em>的唯一、固定的<em>id</em>?或者有好的处理方法的,请留言帮助,谢谢!
蓝牙HID模块蓝牙鼠标蓝牙键盘模块
<em>蓝牙</em>HID模块,支持串口AT指令配置参数,可以制作<em>蓝牙</em>鼠标、<em>蓝牙</em>键盘、<em>蓝牙</em>HID通信等
Device ID apk
Device ID apk应用,可以方便查看Andro<em>id</em>手机的 Device ID、GSF ID、IMEI、SIM Subscriber ID、IP Address、WiFi Mac Address等
Get the Device ID
rnYou can use platform invoke to get the <em>device</em> ID, also known as the serial number, of a Pocket PC. This QuickStart displays the ID in a MessageBox when the application runs. The following is an example of a <em>device</em> ID for a Pocket PC:rnrn8E0000E5-8B82-A17B-0038-0050BF1977E0rnKernelIoControl functionrnrnYou can get the <em>device</em> ID by calling the native Windows CE .NET KernelIoControl function, which has the following parameters:rnrnParameter Bits Win32 Type Managed Type Typical Value rndwIoControlCode 32 DWORD Int32 IOCTL_HAL_GET_DEVICEID rnlpInBuf 32 LPVOID IntPtr IntPtr.Zero (no input data required) rnnInBufSize 32 DWORD Int32 0 (no input data required) rnlpOutBuf 32 DEVICE_ID* byte[] byte[20] (20 bytes is the size of the DEVICE_ID structure) rnnOutBufSize 32 DWORD Int32 20 rnlpBytesReturned 32 LPDWORD ref Int32 0 rnrnThe lpOutBuf parameter has the following structure:rnrnrn rnstruct DEVICE_IDrnrn Int32 dwSize;rn Int32 dwPresetIDOffset;rn Int32 dwPresetIDBytes;rn Int32 dwPlatformIDOffset;rn Int32 dwPlatformIDBytes;rnrn rnrnReturn values and error handlingrnrnThe KernelIoControl function returns true if the <em>device</em> ID was copied to the output buffer; otherwise, it returns false. If KernelIoControl fails, call the managed Marshal.GetLastWin32Error method to get the Win32 error code. The error code is likely to be either of the following:rnrnERROR_NOT_SUPPORTED - Indicates that the <em>device</em> does not implement the IOCTL_HAL_GET_DEVICEID control code.rnERROR_INSUFFICIENT_BUFFER - Indicates that the output buffer was not large enough to hold the <em>device</em> ID. The required number of bytes, specified by dwSize in the DEVICE_ID structure, is returned in the first four bytes of the output buffer. If this error occurs, reallocate the output buffer to the size specified by dwSize and call KernelIoControl again.
Android Device ID
Andro<em>id</em> Device ID 获取系统信息配合apk downloader免费从gooleplay下载应用
独一无二的 device id
两个概念  IMSI (International Mobile Subscriber Identity) of the SIM-Card present in your mobile and the IMEI (International Mobile Equipment Identity). The IMSI <em>id</em>entifies with the SIM, the IMEI with th...
Win8 I2C 设备转HID I2C设备
目前需要将一个普通的I2C<em>设备</em>转变成HID I2C<em>设备</em>rn情况是这样的:rn目前有个<em>设备</em>需要在Win8上正常工作,该<em>设备</em>实现了I2C,但是并未实现HID I2C,导致该<em>设备</em>无法再Win8上正常工作,如何在不改变<em>设备</em>的情况下,让Win8认为这个<em>设备</em>已经实现了HID I2C,并可以与之通信.rnrn目前的想法是这样的,写一个<em>设备</em>驱动,可以和<em>设备</em>进行交互,然后在虚拟一个<em>设备</em>,该<em>设备</em>定义为HID I2C<em>设备</em>,当操作系统读取该虚拟<em>设备</em>时,虚拟<em>设备</em>从<em>设备</em>驱动获取数据,封装包转发给操作系统。rnrn上述方法是否可行?rnrn如果可行,如何进行虚拟<em>设备</em>?虚拟<em>设备</em>如何与<em>设备</em>驱动进行交互?rnrn是否不用虚拟<em>设备</em>,通过过滤驱动能否实现?rnrn刚进行驱动开发,问的不对,请谅解。
自定义HID设备与Android设备通信
这是我2017年中最大的收获,也是陷入一个技术漩涡中的一次经历! 由于公司需要,领导安排做一个自定义HID<em>设备</em>在Andro<em>id</em>系统上的信号检测工具。如图。而Andro<em>id</em>主板不是自家的,希望不要驱动下来完成这件事,表面看起来想想有点不现实,但是我知道有Andro<em>id</em> Host 通信啊,应该是可以的,回想起来觉自己还是被什么给遮住了双眼?陷入了一个常识里了,现在来说一说我的折腾之路。 首先,Andr
HID 设备发现新设备的问题
HID<em>设备</em>首次使用硬件提示:“发现新硬件”,然后电脑开始安装驱动,最后安装成功提示:“可以使用”rnrn想问:VC怎么检测到硬件安装完成,用DeviceChange只能检测到<em>设备</em>连接,怎样检测到器件已安装并可以使用呢?
蓝牙HID知识【BLE HID:HOGP 设备开发指引】【 Keyboard/Keypad Page键码】【Usage Page Summary】
SYD8801是一款低功耗高性能<em>蓝牙</em>低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网<em>设备</em>等。具体可咨询:http://www.sydtek.com/ BLE HID:HOGP <em>设备</em>开发指引 本节博客摘录于...
C# 访问USB(HID)设备
二话不说,直接给代码,如果您真想做这方面的东西,还是稍微研究下,没有现成的好类用,就需要自己了解其原理         //以下是调用windows的API的函数         //获得GUID         [DllImport("<em>h<em>id</em></em>.dll")]         public static extern vo<em>id</em> H<em>id</em>D_GetH<em>id</em>Gu<em>id</em>(ref Gu<em>id</em> H<em>id</em>
HID、SCSI、CCID设备的通信
个人较少接触HID、SCSI<em>设备</em>相关方向的通信,近期接触到几个这类项目,完成后写点心得体会,个人观点,如果有误,敬请指正: 1、HID<em>设备</em>通信      代码开始都是从列举HID<em>设备</em>开始的,中间应用函数FilterDeviceHID(hKey)来过滤掉不符合条件的HID<em>设备</em>,过滤条件是通过HID<em>设备</em>的PIDVID值比较,废话不多说,代码贴上,但只是部分代码,我的项目是MFC工程,条件有限:
HADOOP权威指南 第3版 PDF电子书下载 带目录书签 完整版下载
HADOOP权威指南 第3版 PDF电子书下载 带目录书签 完整版 相关下载链接:[url=//download.csdn.net/download/machen_smiling/9520009?utm_source=bbsseo]//download.csdn.net/download/machen_smiling/9520009?utm_source=bbsseo[/url]
python资料下载
简明python教程 可以帮助大家更好的学习python语言 欢迎大家下载学习 相关下载链接:[url=//download.csdn.net/download/mdfs348700300/3590381?utm_source=bbsseo]//download.csdn.net/download/mdfs348700300/3590381?utm_source=bbsseo[/url]
java通用分页含使用文档下载
这是一个通用的分页jar包,有了它在jsp页面中直接一个便签就可以把分页引入进来,无需在向以前一样手工写分页的代码.. 相关下载链接:[url=//download.csdn.net/download/yx13649017813/4970331?utm_source=bbsseo]//download.csdn.net/download/yx13649017813/4970331?utm_source=bbsseo[/url]
我们是很有底线的