ZHCACO6A january   2011  – may 2023

 

  1.   1
  2. 1MSP430™ USB HID Windows API 编程人员指南
  3. 2引言
  4. 3实现
    1. 3.1 概述
    2. 3.2 文件组织
    3. 3.3 系统要求
    4. 3.4 MSP430 USB API 堆栈
    5. 3.5 Windows 如何将物理 USB HID 器件映射到主机应用程序
    6. 3.6 在系统上查找特定 HID 器件/接口并将其打开
    7. 3.7 发送/接收数据
    8. 3.8 检测 HID 器件的动态连接/断开
  5. 4函数调用参考
    1. 4.1 器件连接管理和初始化调用
      1. 4.1.1 VOID HID_Init(struct strHidDevice* pstrHidDevice)
      2. 4.1.2 DWORD HID_GetSerNums(WORD vid, WORD pid, struct strTrackSerialNumbers *serialNumList)
      3. 4.1.3 DWORD HID_GetNumOfInterfaces(WORD vid, WORD pid, DWORD numSerNums)
      4. 4.1.4 BYTE HID_Open(struct strHidDevice* pstrHidDevice, WORD vid, WORD pid, DWORD deviceIndex, char serialNumber[SERNUM_LEN], DWORD totalDevNum, DWORD totalSerNum)
      5. 4.1.5 BYTE HID_Close(struct strHidDevice* pstrHidDevice)
      6. 4.1.6 BYTE HID_GetVersionNumber(struct strHidDevice* pstrHidDevice, USHORT * VersionNumber)
    2. 4.2 发送/接收数据
      1. 4.2.1 BYTE HID_WriteFile(struct strHidDevice* pstrHidDevice, BYTE* buffer, DWORD bufferSize, DWORD* bytesSent)
      2. 4.2.2 BYTE HID_ReadFile(struct strHidDevice* pStrHidDevice, BYTE* buffer, DWORD bufferSize, DWORD* bytesReturned)
    3. 4.3 即插即用管理
      1. 4.3.1 BYTE HID_RegisterForDeviceNotification(HWND hWnd, HDEVNOTIFY* diNotifyHandle)
      2. 4.3.2 BYTE HID_UnregisterForDeviceNotification(HDEVNOTIFY* diNotifyHandle)
      3. 4.3.3 BOOL IsDeviceAffected(struct strHidDevice* pstrHidDevice)
  6. 5演示应用程序
  7. 6MSP430 USB 工具套件
  8.   HID 接口数据结构:strHidDevice
  9.   HID 数据管道器件上的报告格式
  10.   C 参考文献
  11.   C 修订历史记录

DWORD HID_GetNumOfInterfaces(WORD vid, WORD pid, DWORD numSerNums)

说明

返回由 vid 和 pid 标识的每个物理 USB 器件中存在的 HID 接口数量。如果未连接此类器件,则该函数返回零。

numSerNums 是系统上与此 VID/PID 关联的物理器件的数量。此函数通过扫描 Windows HID 器件列表(即在系统上注册的逻辑 HID 器件)、统计与此 VID/PID 关联的器件,然后将其除以 numSerNums 来实现其目标。numSerNums 可以通过调用 HID_GetSerNums() 来找到。

单接口 HID 器件始终会返回值 1。

参数

表 4-5 HID_GetNumOfInterfaces() 的参数
UINT vid要查找的器件的 16 位供应商 ID。
UINT pid要查找的器件的 16 位米6体育平台手机版_好二三四 ID。
DWORD numSerNums具有此 VID/PID 的已连接物理器件的总数
返回值0:未连接具有此 VID/PID 的 USB 器件时。
非 0:系统上具有此 VID/PID 的 USB 器件的数量