如果我使用带有LPOVERLAPPED条目的WinUsb_WritePipe,并使用WinUsb_GetOverlappedResult等待结果,则有一个错误,其中WinUsb_WritePipe总是返回false,而GetLastError返回错误997。
OVERLAPPED ovr = { 0 };
ovr.hEvent = CreateEvent(NULL, TRUE, FALSE, "USBWrite");
...
while( ... )
{
// If waiting...
WinUsb_GetOverlappedResult( winusbhandle, &ovr, &NumberOfBytesTransferred, 1);
// Always,
WinUsb_WritePipe(winusbhandle, 0x01, usb_out_buffer, sizeof(usb_out_buffer), &bytesWritten, &ovr);
// This returns as a failure and GetLastError() == 997
}
}发布于 2022-09-14 01:09:33
没有问题。错误代码应该被检查,但是,错误997仅仅意味着“是的,我们已经排列了您的数据,它现在正在进行中。没有什么是错误的。”
因此,您应该检测到此错误,并忽略它。其他的错误是真实的。
https://stackoverflow.com/questions/73710465
复制相似问题