I missed that you're using WinUSB.
Use whatever debugging tools you have to find out why the application isn't seeing the data.
A USB protocol analyzer will show what is happening on the bus.
In Visual Studio, use breakpoints and/or single stepping to examine variables, etc. where the transfer fails.
Use whatever debugging tools you have for your firmware to find out how the endpoint is responding to IN token packets.