ZHCACO6A january 2011 – may 2023
说明
从 pStrHidDevice 指定的 HID 器件获取 bufferSize 个字节的有效负载数据,并将其存储在缓冲区中。它通过根据需要读取尽可能多的 HID 报告,直到返回 bufferSize 个字节,来实现这一点。
如果该函数返回 HID_DEVICE_SUCCESS,则 bytesReturned 将等于 bufferSize。只有出现其他返回代码之一时,bytesReturned 才会小于 bufferSize。
此函数通过将 HID 报告用作“数据包”来接收数据。根据 pStrHidDevice.uGetReportTimeout 的值,如果从 USB 器件获取数据包的任何尝试超时,该函数会返回 HID_DEVICE_TRANSFER_TIMEOUT。
除了 bufferSize 以 DWORD 值形式施加的限制外,可以接收的字节数没有内在限制。打包由系统自动处理。
参数
strHidDevice* pstrHidDevice | 包含 HID 器件信息的结构。 |
BYTE* buffer | 包含接收数据的数组 |
DWORD bufferSize | 缓冲区大小,表示预期接收的最大字节数 |
DWORD* bytesReturned | 实际接收到的字节数(发生错误时) |
返回值 | HID_DEVICE_NOT_OPENED。HID 器件无法打开。 |
HID_DEVICE_TRANSFER_TIMEOUT。报告请求超时。 | |
HID_DEVICE_TRANSFER_FAILED。传输因不明原因而失败。 | |
HID_DEVICE_SUCCESS。接收到正确数量的字节。 |