Our custom audio channel implementation (using WTS / RDS Virtual Channel API) does not work when connecting from Windows 8.1 to Windows Server 2012 R2. The call to pVirtualChannelWrite() never returns in that environment.
All other combinations (Windows 7, Windows 8, Windows Server 2008, Windows Server 2012) are working.
The pVirtualChannelWrite() function and the VirtualChannelOpenEvent() function are called in two different threads. The call to pVirtualChannelWrite() is hanging as soon as we get a VirtualChannelOpenEvent() when the data we receive is larger than e.g. 400
byte.
We recognized the following difference to previous clients or Protocols:
- With RDP 8.1 the VirtualChannelEntry() and VirtualChannelInitEventProc() function with CHANNEL_EVENT_CONNECTED are called from two different threads at the beginning. With RDP 7.1 only one thread is used for this functions which is used for for following
processes too.
- With RDP 8.1 our data package from the Server is split up into 2 packages although it is below the maximum of 1600 defined by CHANNEL_CHUNK_LENGTH. With RDP 7.1 it is received in one part.
Maybe related: We could not test this behaviour on Windows 7 because the RDP 8.1 Update for Windows 7 was removed few days after Release.
Thank you for any help you can provide.