Yes, on Citrix you can use the Virtual Channel SDK:
https://www.citrix.com/downloads/citrix-receiver/sdks/virtual-channel-sdk.html
Microsoft also has something similar if you want to use RDP:
http://msdn.microsoft.com/en-us/library/aa383509%28v=vs.85%29.aspx