If I use WinUsb_WritePipe with a LPOVERLAPPED entry, and use WinUsb_GetOverlappedResult to wait on the results, I have an error where WinUsb_WritePipe always returns false, and GetLastError returns error 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
}
}