胖子@Endless.com 发表于 2015-7-22 15:03:17

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;
}

求指点,谢谢

沐紫 发表于 2015-7-22 15:39:04

最全USB HID开发资料,悉心整理一个月,亲自测试
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=581458&fromuid=366506
(出处: 意法半导体STM32/STM8技术社区)


供参考

Mandelbrot_Set 发表于 2015-7-22 16:29:39

//
// MessageId: ERROR_IO_PENDING
//
// MessageText:
//
//Overlapped I/O operation is in progress.
//
#define ERROR_IO_PENDING               997L    // dderror

WriteFile返回了 但WriteFile操作没有完成 而已
自己处理下这个错误码.

你好我好大家好! 发表于 2015-7-23 08:53:11

帮顶         
页: [1]
查看完整版本: HID USB读写总是返回失败,获取错误码是997,求指点