HID USB读写总是返回失败,获取错误码是997,求指点
USB读写时,能通过CreateFile获取句柄,调用WriteFile或者ReadFile时总是返回失败,错误码是997,下面是写入HID的代码if(m_hUsb==INVALID_HANDLE_VALUE)return;
unsigned char OutputBuffer;
DWORD nWriteBytes;
HANDLE WriteEvent = CreateEvent(NULL, true, false, NULL);
OVERLAPPED writeOverlap;
writeOverlap.hEvent = WriteEvent;
writeOverlap.Offset = 0;
writeOverlap.OffsetHigh = 0;
UpdateData(TRUE);
OutputBuffer = 0x00;
OutputBuffer = 0x01;
OutputBuffer = 0x02;
OutputBuffer = 0x03;
// for(int i=1; i-1<m_SendStr.GetLength();i++)
// {
// OutputBuffer = m_SendStr.GetAt(i-1);
// //WideCharToMultiByte
// }
ResetEvent(WriteEvent);
DWORD len = m_SendStr.GetLength() + 1;
if (WriteFile(m_hUsb, &OutputBuffer, 65, &nWriteBytes, &writeOverlap))
{
AfxMessageBox(_T("Succ write"));
}else
{
DWORD Err = GetLastError();
cout<<Err;
}
求指点,谢谢
最全USB HID开发资料,悉心整理一个月,亲自测试
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=581458&fromuid=366506
(出处: 意法半导体STM32/STM8技术社区)
供参考 //
// MessageId: ERROR_IO_PENDING
//
// MessageText:
//
//Overlapped I/O operation is in progress.
//
#define ERROR_IO_PENDING 997L // dderror
WriteFile返回了 但WriteFile操作没有完成 而已
自己处理下这个错误码. 帮顶
页:
[1]