Teradici PCoIP Virtual Channel Software Development Kit

Similar documents
Teradici PCoIP Software Client for Mac

Teradici PCoIP Software Client for Windows

Tera2 PCoIP Zero Client Firmware

Teradici APEX 2800 Server Offload Card Administrator's Guide TER

PCoIP Connection Manager for Amazon WorkSpaces

Using PCoIP Zero Clients with PCoIP Host Cards

PCoIP Management Console Release Notes. TER Issue 10

Aimetis Android Mobile Application. 2.x Release Notes

Tera2 PCoIP Zero Client Firmware 4.x and Remote Workstation Card Firmware 4.9

Deploying Windows Server 2003 Internet Authentication Service (IAS) with Virtual Local Area Networks (VLANs)

Schlumberger Private Customer Use

Getting Started with Tally.Developer 9 Series A Release 3.0

Aimetis Mobile Bridge. 2.7 Release Notes

Getting Started with Tally.Developer 9

Microsoft Dynamics AX Team Server (ID Server) Setup Whitepaper for Microsoft. Dynamics AX 2009.

Receive and Forward syslog events through EventTracker Agent. EventTracker v9.0

Network Service Description

V iew Direct- Connection Plug-In. The Leostream Connection Broker. Advanced Connection and Capacity Management for Hybrid Clouds

Microsoft RemoteFX for Remote Desktop Virtualization Host Capacity Planning Guide for Windows Server 2008 R2 Service Pack 1

Getting Started with Tally.Developer 9 Alpha

Citrix administator guide

Have documentation feedback? Submit a Documentation Feedback support ticket using the Support Wizard on support.air-watch.com.

Installation Guide Install Guide Centre Park Drive Publication Date: Feb 11, 2010

Installing and Configuring vcenter Multi-Hypervisor Manager

Have documentation feedback? Submit a Documentation Feedback support ticket using the Support Wizard on support.air-watch.com.

Creating Custom Patches through Packing List Utility

Guide Citrix administrator guide

Installation Guide. EventTracker Enterprise. Install Guide Centre Park Drive Publication Date: Aug 03, U.S. Toll Free:

One Identity Starling Two-Factor Desktop Login 1.0. Administration Guide

Steel-Belted Radius Installation Instructions for EAP-FAST Security Patch

PCoIP Hardware Accelerator (APEX 2800)

Client Installation and User's Guide

DameWare Server. Administrator Guide

VMware Horizon 7 Administration Training

Schlumberger Private Customer Use

Project management - integrated into Outlook

271 Waverley Oaks Rd. Telephone: Suite 206 Waltham, MA USA

Teradici PCoIP Management Console

Aimetis Symphony Mobile Bridge. 2.7 Installation Guide

OEM Preinstallation Kit Guide for Microsoft Office 2013

Have documentation feedback? Submit a Documentation Feedback support ticket using the Support Wizard on support.air-watch.com.

Aimetis Symphony Mobile. 2.7.x. (Mobile Bridge and Mobile Devices) Copyright 2016 Aimetis Corp. 1

Tzunami Deployer DocuShare Exporter Guide

Glossary of Terms. Connection Broker. Advanced Connection and Capacity Management for Hybrid Clouds. Version 9.0 June Contacting Leostream

Connection Broker Advanced Connections Management for Multi-Cloud Environments

New Features Guide EventTracker v6.2

Agent Installation Using Smart Card Credentials Detailed Document

Upgrade Guide. Upgrading to EventTracker v7.1 Enterprise. Upgrade Guide Centre Park Drive Publication Date: Apr 11, 2011.

Item Masters Mapping between Tally.ERP 9 and Shoper 9 HO

Microsoft Dynamics NAV

Client Installation and User's Guide

Disclaimer This presentation may contain product features that are currently under development This overview of new technology represents no commitmen

SECURE FILE TRANSFER PROTOCOL. EventTracker v8.x and above

How To Embed EventTracker Widget to an External Site

Tzunami Deployer Confluence Exporter Guide

Using PCoIP Zero Clients with VMware View 4 User Guide. TER Issue 4

Veeam Cloud Connect. Version 8.0. Administrator Guide

esignlive for Microsoft Dynamics CRM

The Project Management Software for Outlook, Web and Smartphone

Android ATC Android Security Essentials Course Code: AND-402 version 5 Hands on Guide to Android Security Principles

HySecure Quick Start Guide. HySecure 5.0

ONVIF Server for Aimetis Symphony. Installation and Usage

Teradici PCoIP Graphics Agent for Linux

PCoIP Host Software for Linux User Guide. TER Issue 7

Workspace ONE UEM Notification Service. VMware Workspace ONE UEM 1811

Novell ZENworks Application Virtualization

Tzunami Deployer HPE Content Exporter Guide Supports migration of EMC HPE Content Manager into Microsoft SharePoint using Tzunami Deployer

EventTracker Manual Agent Deployment User Manual

Microsoft Exchange Server SMTPDiag

Lab Answer Key for Module 1: Creating Databases and Database Files

ControlPoint. Installation Guide for SharePoint August 23,

Tzunami Deployer eroom Exporter Guide

Integrating Cisco Distributed Director EventTracker v7.x

EventTracker v8.2. Install Guide for EventTracker Log Manager. EventTracker 8815 Centre Park Drive Columbia MD

Product Update: ET82U16-029/ ET81U EventTracker Enterprise

Tzunami Deployer Confluence Exporter Guide

Dell Change Auditor 6.5. Event Reference Guide

Version: Shoper 9 LiveUpdate/1.21/March 2011

Wwise Installation and Migration Guide

Relativity Designer Installation Guide

Symantec Patch Management Solution for Windows 8.5 powered by Altiris technology User Guide

Online Documentation: To access the online documentation for this and other Novell products, and to get updates, see

How to Configure ASA 5500-X Series Firewall to send logs to EventTracker. EventTracker

Integrate Routing and Remote Access Service (RRAS) EventTracker v8.x and above

Tzunami Deployer Licensing Guide

Server Installation Guide

One Identity Management Console for Unix 2.5.1

Exclaimer Mail Archiver

Tzunami Deployer FileNet Exporter Guide Supports extraction of FileNet contents and migrate to Microsoft SharePoint using Tzunami Deployer.

Remote Indexing Feature Guide

Quest Code Tester for Oracle 3.1. Installation and Configuration Guide

VMware vsphere Data Protection Evaluation Guide REVISED APRIL 2015

Sophos for Virtual Environments. startup guide -- Sophos Central edition

Online Documentation: To access the online documentation for this and other Novell products, and to get updates, see

HOTPin Software Instructions. Mac Client

VMware Horizon View Feature Pack Installation and Administration

Tzunami Deployer Hummingbird DM Exporter Guide

Citrix Exam 1Y0-200 Managing Citrix XenDesktop 7 Solutions Exam Version: 6.5 [ Total Questions: 121 ]

Tzunami Deployer Hummingbird DM Exporter Guide

Migrating vrealize Automation 6.2 to 7.2

Transcription:

Teradici PCoIP Virtual Channel Software Development Kit Version 1.1 Developers' Guide TER1502008-1.1

Document History The following table records changes and revisions made to this document since the inaugural release of the Teradici PCoIP Virtual Channel Software Development Kit version 1.0 in June 2016. Version Date Description 1.1 May, 2017 Updated to include CMake information. TER1502008 2

Contents Document History 2 Who Should Read This Guide? 4 Overview of the PCoIP Virtual Channel 5 About the PCoIP Virtual Channel API/SDK 5 Guidelines for Implementing PCoIP Virtual Channel Plug-Ins 6 API HTML Documentation 8 Plug-In Sample Files for PCoIP Virtual Channel 10 Building PCoIP Virtual Channel Plug-In Samples 11 Using CMake to Configure and Generate Platform and Compiler Build Files 11 Installing, Updating, and Uninstalling PCoIP Virtual Channel Plug-Ins 14 Installing PCoIP Virtual Channel Plug-Ins on a Windows Endpoint 14 Installing PCoIP Virtual Channel Plug-Ins on a Linux Agent 16 Installing PCoIP Virtual Channel Plug-Ins on a macos Endpoint 16 Installing PCoIP Virtual Channel Plug-Ins on an ios or Android Endpoint 16 Updating PCoIP Virtual Channel Plug-Ins 16 Uninstalling PCoIP Virtual Channel Plug-Ins 17 Running the PCoIP Virtual Channel Plug-In within a PCoIP Session 18 Troubleshooting 19 TER1502008 3

Who Should Read This Guide? This guide provides information for solution developers to create custom PCoIP solutions or PCoIP commercial products using the Virtual Channel SDK. Solution developers can build custom PCoIP Virtual Channel plug-ins that stream data between the desktop/agent and the client using a secure PCoIP session. In this guide you'll learn about: Implementing and Building PCoIP Virtual Channel plug-in files Installing and Updating PCoIP Virtual Channel plug-in files Troubleshooting Performance and Implementation issues Note: Understanding terms and conventions in Teradici guides For information on the industry specific terms, abbreviations, text conventions, and graphic symbols used in this guide, see Using Teradici Product and Component Guides and the Teradici Glossary. TER1502008 4

Overview of the PCoIP Virtual Channel The PCoIP Virtual Channel Software Development Kit (SDK) enables developers to build custom PCoIP Virtual Channel plug-ins for PCoIP sessions. You can implement PCoIP Virtual Channel functionality as a plug-in to send encrypted data between servers and client endpoints during an active PCoIP session. The PCoIP Virtual Channel Application Programming Interface (API) is available as an optional add-on to solution developers who want to extend the types of traffic flowing through the PCoIP session, such as clipboard redirection, local printing, and custom device support. About the PCoIP Virtual Channel API/SDK Solution developers can write plug-ins that stream data between the agent and the client using a secure PCoIP session. For example, the PCoIP copy-and-paste function uses a virtual channel to transport clipboard data between a remote desktop client and the clipboard on a local PC, as shown next. An example use case of the PCoIP Virtual Channel Virtual channel traffic travels over the PCoIP session and is therefore secure since it is encrypted and authenticated like other PCoIP traffic. TER1502008 5

The virtual channel does not set up a new socket or port number and the channel can be opened and closed dynamically. Both reliable and unreliable transport options are available. If PCoIP Virtual Channel traffic can be compressed and still meet WAN criteria, the API will automatically apply lossless compression. The API periodically checks if traffic can be compressed. Plug-ins can explicitly disable compression. During the session, the PCoIP Virtual Channel API works to: Transfer data in either direction using streaming or datagram transfers. Receive notifications of relevant events via callbacks. Log messages in the standard PCoIP session logs. This SDK includes sample plug-ins which demonstrate how to implement plug-ins and use the PCoIP Virtual Channel API. These sample plug-ins use the PCoIP Virtual Channel API to transfer data between client and server endpoints: plugin_vchan_sample_stream uses the reliable PCoIP Virtual Channel streaming data API. plugin_vchan_sample_dgram uses the reliable PCoIP Virtual Channel datagram API. plugin_vchan_sample_u_echo uses the unreliable PCoIP Virtual Channel API to send unreliable datagrams in parallel with the reliable data transfer. Note: Linux plug-in is only supported for Linux OS on the host The PCoIP Virtual Channel SDK supports the implementation of plug-ins for Linux OS on the host. Linux OS on the client is not currently supported. Guidelines for Implementing PCoIP Virtual Channel Plug-Ins These guidelines include best practices, recommendations, and warnings for solution developers who wish to implement PCoIP Virtual Channel plug-ins. The files in the inc folder are used directly by PCoIP Virtual Channel handling. Caution: Do not modify the ~\VChan_SDK\inc folder This folder is used directly within the PCoIP executable and must not be modified. On Windows you can build PCoIP Virtual Channel plugins with Visual Studio 2013 and higher. However, as the PCoIP Agent installation package only installs Visual Studio TER1502008 6

2015 re-distributable libraries, it is your responsibility to ensure that required redistributables are installed, if you choose to build with a different version. You are responsible for providing a mechanism to change run-time variables within plug-ins. The PCoIP Virtual Channel SDK does not provide a built-in mechanism to enable a user or customer to change behavior, for example, using a registry key or config file. You can build a plug-in implemented as a Windows.dll file, a Linux.so file, an Android.mk file, or an ios or Android library. This enables you to use the PCoIP Virtual Channel API to access virtual channel functionality, including: o o o o init and exit functions (for both server and client) that are called at session startup and session exit when the plug-in is coded and built. This is a prerequisite to enable the subsequent installation of the plug-in on server and client. init and exit functions within the plug-in and the exposed API that the plug-in uses to access the PCoIP Virtual Channel plug-in services. init functions that allocate resources (such as threads, semaphores, and so on) to implement the autonomous processing and functionality for server and client endpoints. plug-in exit functions that release resources and tidy up the processing to prepare for terminating the session. Note: Build plug-ins for all deployed host and client operating systems A PCoIP Virtual Channel plug-in should be built for all host and client operating systems on which it is to be deployed. Currently, however, the Linux plug-in is only supported for Linux OS on the host. You can implement a PCoIP Virtual Channel plug-in as a single symmetric plug-in (that is deployed on both client and host) or two asymmetric plug-ins (one implementing client functionality and one host functionality). Note that even a symmetric plug-in may need to be build for different operating systems for the host and client. Do not mix streaming and datagram API calls on a single channel. To avoid degrading the performance of virtual channel handling, avoid processing within a callback as that blocks or requires extensive processing. Do not use PCoIP Virtual Channel plug-ins to call any PCoIP Virtual Channel APIs in the context of the event/channel callback. For example, don t call pcoip_vchan_recv() in a RECV_RDY event callback. Use callback implementations only to set an event (or equivalent) to trigger a separate thread to do processing and data transfers. TER1502008 7

If you use the datagram API, use the supplied API call to check the maximum datagram size. Never exceed the maximum datagram size. If you need larger transfers, use the streaming API. Set up unreliable transport virtual channels by requesting a reliable virtual channel with the appropriate configuration option. For details, see the API documentation and the sample u_echo virtual channel plug-in. To avoid potential channel name conflicts, prefix the channel names in your implementations with the company name, for example, ABCompany_*. There is no developer PCoIP Virtual Channel support for PCoIP Zero Clients or PCoIP Remote Workstation Card. Every time you install or upgrade PCoIP software, you must also reinstall the plug-ins. Although PCoIP Virtual Channel plug-in speed can exceed 10 Mbps, overall throughput rates depend on network bandwidth and other PCoIP traffic, especially video and audio traffic. All plug-ins in the PCoIP Virtual Channel directory are processed; you cannot specify order. Teradici recommends using the PCoIP Virtual Channel API to log PCoIP Virtual Channel related messages. Due to an ios limitation, the client library can only link with PCoIP Virtual Channel plug-ins that are built as static libraries. You must implement the two functions in the static plug-ins: o o pcoip_vchan_plugin_client_init_<plugin_name> pcoip_vchan_plugin_client_exit_<plugin_name> where <plugin_name> is a unique name that identifies the plug-in. For other platforms, implement pcoip_vchan_plugin_client_init and pcoip_ vchan_plugin_client_exit instead. On Windows, the PCoIP Virtual Channel plug-in is implemented as a.dll file that is loaded by the PCoIP Virtual Channel Loader process at session startup using a Windows Registry entry. The PCoIP Virtual Channel Loader process is run as one of several different users depending on the deployment. This may affect the privilege level available to you. The current schema is: o o For VMware Horizon View Agent: the process runs as SYSTEM in the user s session number with impersonation rights. For other platforms (such as Teradici Cloud Access Platform, Amazon Workspaces, and so on): the process runs as USER in the user s session number. API HTML Documentation You can view the HTML documentation that Doxygen automatically generates from the source files here: TER1502008 8

\VChan_SDK\SDK\doc\html\index.html. TER1502008 9

Plug-In Sample Files for PCoIP Virtual Channel This following table lists the source and header files that build the PCoIP Virtual Channel plug-ins. You can find the files in ~\VChan_SDK\samples. Description of File or Folder The header file for both streaming and datagram samples. The source file for the datagram API sample. The source file for the streaming API sample. The source file for the unreliable datagram API sample. The header and source file for a thin operating system abstraction layer that enables the same source code to be used for both Windows and Linux plug-in samples. The folder that contains the documentation for the PCoIP Virtual Channel sample implementations. The doxy file that constructs the documentation with the doxygen system (available as a free download). All source and header files are annotated with doxygen markup to document the API and its usage in the samples. The folder that contains the header files that define the PCoIP Virtual Channel plug-in interface and associated declarations.* File or Folder Path ~\VChan_ SDK\samples\common\inc\tera_ plugin_vchan_sample.h ~\VChan_SDK\samples\sample_ dgram\src\tera_plugin_vchan_ sample_dgram.c ~\VChan_SDK\samples\sample_ stream\src\tera_plugin_vchan_ sample_stream.c ~\VChan_SDK\samples\sample_ stream\src\tera_plugin_vchan_ sample_u_echo.c ~\VChan_ SDK\samples\common\inc\tera_ plugin_os_abstraction.h ~\VChan_ SDK\samples\common\src\tera_ plugin_os_abstraction.c ~\VChan_SDK\samples\doc ~\VChan_SDK\samples\doc\plugin_ vchan_sample.doxy ~\VChan_SDK\inc The folder that contains the top level documentation of the PCoIP Virtual Channel API (including this user guide). The doxy file that constructs the documentation with the doxygen system (available as a free download). All source and header files are annotated with doxygen markup to document the API and its usage in the samples. ~\VChan_SDK\doc ~\VChan_SDK\vchan_api_inc.doxy *Caution: Do not modify the ~\VChan_SDK\inc folder This folder is used directly within the PCoIP executable and must not be modified. TER1502008 10

Building PCoIP Virtual Channel Plug-In Samples Use CMake (Cross-Platform Make) to build the sample plug-ins for Windows, macos, or Linux. CMake is an open-source, cross-platform family of tools designed to build, test, and package software. You can download the latest version of CMake for platform specific installation file from www.cmake.org. Building the plug-ins for Windows requires Microsoft Visual Studio. Building the plug-ins for other platforms requires the SCons software construction tool which in turn requires Python, and a gcc compiler or a corresponding toolchain which supports the pthreads library (for the operating system primitives used in the plug-ins). On all platforms you can use CMake to configure and generate platform and compiler specific build files and build the target plug-ins on the chosen platforms. Using CMake to Configure and Generate Platform and Compiler Build Files The following image shows the configuration information for CMake with Microsoft Visual Studio on Windows. TER1502008 11

CMake configuration for Windows You can configure other platforms in a similar way to take the source codes and generate the build files in the designated binaries folder. It is possible to configure CMake on the command-line user interface, for information refer to CMake documentation at the CMake wiki page. Note: Completing the CMake process You must first Configure, and then Generate as a two-pass routine to complete the CMake process. To build the target plug-ins on your chosen platform, go to the output build files folder and build the plug-in with the designated compiler. TER1502008 12

Note: Binary compatibility for Windows plug-ins To maintain binary compatibility, ensure that PCoIP Virtual Channel plug-ins on Windows are built as 32-bit dlls with Visual Studio 2013. If you choose to build it with a different version you must ensure required re-distributables are installed on the destination system. Note: Binary compatibility for macos plug-ins To maintain binary compatibility, ensure that PCoIP Virtual Channel plug-ins on macos are built as 64-bit dylibs with Xcode 5.0 or above. TER1502008 13

Installing, Updating, and Uninstalling PCoIP Virtual Channel Plug-Ins In this section, you'll learn how to install the PCoIP Virtual Channel plug-in on a Windows endpoint, a Linux agent, a macos endpoint, and an ios or Android endpoint. You'll also learn how to update and uninstall PCoIP Virtual Channel plug-ins. The topics include: Installing, Updating, and Uninstalling PCoIP Virtual Channel Plug-Ins on page 14 Updating PCoIP Virtual Channel Plug-Ins on page 16 Uninstalling PCoIP Virtual Channel Plug-Ins on page 17 Note: Creating a custom application installer For developers of custom plug-ins, Teradici recommends that you create an installer that will automatically install and uninstall the plug-ins. Installing PCoIP Virtual Channel Plug-Ins on a Windows Endpoint On a Windows endpoint, you must install the PCoIP Virtual Channel plug-in in both the agent and client. You can deploy custom PCoIP Virtual Channel plug-ins as identical (symmetric) or asymmetric plug-in.dll files. You can create one.dll file to handle both receiving and transmitting functions and deploy the same.dll file on both agent and client sides. Use the general steps in this example to install any of the sample PCoIP Virtual Channel plugins in a Windows endpoint, for example, plugin_vchan_sample_dgram.dll, plugin_ vchan_sample_stream.dll, or plugin_vchan_sample_u_echo.dll. Substitute the appropriate name in the description. Installing PCoIP Virtual Channel Plug-Ins on a Windows Agent To enable agent side PCoIP Virtual Channel functionality on Windows, first install the plug-in.dll files in a \vchan_plugins directory in the agent. To enable agent side PCoIP Virtual Channel functionality on Windows: 1. Use regedit to add a registry key for the plug-in and create vchan_sample key at: For 32-bit Windows 7, Windows Server 2008 R2, Windows 10, and Windows Server 2016: HKEY_LOCAL_MACHINE\SOFTWARE\Teradici\VChan\Plugins TER1502008 14

For 64-bit Windows 7, Windows Server 2008 R2, Windows 10, and Windows Server 2016: HKEY_LOCAL_ MACHINE\SOFTWARE\ Wow6432Node\ Teradici\VChan\Plugins 2. Add a new string value called dll in the above key. 3. Set the associated data value of the dll string to the path and file name for the plug-in dll file, as shown next. In the following example, the data value of the dll string is set to C:\vchan_ sample\plugin_vchan_sample.dll. Installing PCoIP Virtual Channel Plug-Ins on a Windows Client Use the following procedure to enable client side PCoIP Virtual Channel functionality on Windows. To install the PCoIP Virtual Channel plug-in on a Windows client: 1. Create a \vchan_plugins directory in the Teradici installation path (in the same location where you installed the client software). 2. On the client, copy the plug-in.dll files in the \vchan_plugins directory. TER1502008 15

Installing PCoIP Virtual Channel Plug-Ins on a Linux Agent Use the following procedure to install any of the sample PCoIP Virtual Channel plug-ins on a Linux host where the PCoIP Linux agent is installed, for example, plugin_vchan_sample_ dgram.so, plugin_vchan_sample_stream.so, or plugin_vchan_sample_u_ echo.so. Substitute the appropriate name in the description. To enable client side PCoIP Virtual Channel functionality on Linux: 1. Create the /usr/lib/pcoip/vchan_plugins folder. 2. Copy the shared object (.so) files that implement the client side of the plug-in into the /usr/lib/pcoip/vchan_plugins folder. 3. Use the following standard utilities to extract information from the.so file: To list all the APIs exposed by the.so file, use nm *.so sudo To list all Teradici APIs, use nm *.so sudo grep tera_ To list all the other shared objects that the given shared object depends on, use dll *.so sudo Installing PCoIP Virtual Channel Plug-Ins on a macos Endpoint Use the following procedure to install the plug-in on a macos endpoint. To enable client side PCoIP Virtual Channel functionality on macos: 1. Create a \vchan_plugins directory in the Teradici installation path (the location where you installed the client software). 2. Copy the plug-ins in the dylibs directory and paste them into the \vchan_plugins directory. Installing PCoIP Virtual Channel Plug-Ins on an ios or Android Endpoint You must integrate the ios or Android plug-ins with a PCoIP client. If you want to build plugins for ios or Android platforms, contact the Teradici Support Team by submitting a support ticket. Updating PCoIP Virtual Channel Plug-Ins You update Teradici plug-ins differently than custom plug-ins. To update Teradici plug-ins, updating or reinstalling the agent and/or client software automatically installs the Teradici plug-ins. For custom plug-ins, you need to first uninstall the agent and/or client software, and then reinstall the custom plug-ins. TER1502008 16

To update a Teradici plug-in: Update or re-install the agent and/or client software. Updating or reinstalling the agent and/or client software automatically updates the Teradici plug-in. To update a custom plug-in: 1. Update or reinstall the agent and/or client software. 2. Reinstall the custom plug-in (see Installing, Updating, and Uninstalling PCoIP Virtual Channel Plug-Ins on page 14). Uninstalling PCoIP Virtual Channel Plug-Ins You uninstall Teradici plug-ins differently than custom plug-ins. For Teradici plug-ins, uninstalling the agent and/or client software automatically uninstalls the Teradici plug-ins and their associated registry keys. For custom plug-ins, you need to first uninstall the agent and/or client software, and then use your custom uninstaller to uninstall the plug-in (or manually delete the custom plug-in). Note: Creating a custom application installer For developers of custom plug-ins, Teradici recommends that you create an installer that will automatically install and uninstall the plug-ins. To uninstall Teradici plug-ins: Uninstall the agent and/or client software. Uninstalling the agent or client software automatically uninstalls the Teradici plug-ins and their associated registry keys. To uninstall custom plug-ins: 1. Uninstall the agent and/or client software. 2. Uninstall the plug-ins by doing one of the following: If you have a custom uninstaller for the plug-ins, run the application uninstaller to uninstall the plug-ins. If you don't have a custom uninstaller, manually delete the custom plug-ins from the vchan_plugins folder. TER1502008 17

Running the PCoIP Virtual Channel Plug-In within a PCoIP Session After installing the plug-ins on both the agent and client, open a PCoIP session between the endpoints. The PCoIP Virtual Channel plug-ins specified in the registry are loaded when the session starts. Confirm that the sample plug-in is running by checking the loaded plug-in list in the PCoIP server/client log files, as shown next. PCoIP Virtual Channel sample plug-ins periodically log messages (by calling the pcoip_ vchan_log_msg() API) and report the receive rate. These messages appear in the PCoIP server/client log file under the VCHAN_PLUGIN category (depending on your logging level configuration), as shown next. TER1502008 18

Troubleshooting For additional information and known issues, see the Teradici PCoIP Community Forum and the Teradici Support Knowledge Base. If you need further assistance, contact the Teradici Support Team by submitting a support ticket. TER1502008 19

Teradici Corporation #101-4621 Canada Way, Burnaby, BC V5G 4X8 Canada phone +1.604.451.5800 fax +1.604.451.5818 www.teradici.com The information contained in this documentation represents the current view of Teradici Corporation as of the date of publication. Because Teradici must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Teradici, and Teradici cannot guarantee the accuracy of any information presented after the date of publication. This document is for informational purposes only. TERADICI MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Teradici Corporation. Teradici may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Teradici, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. Visit http://www.teradici.com/about-teradici/pat.php for more information. 2004-2017 Teradici Corporation. All rights reserved. Teradici, PC-over-IP, and PCoIP are trademarks of Teradici Corporation and may be registered in the United States and/or other countries. Any other trademarks or registered trademarks mentioned in this release are the intellectual property of their respective owners. TER1502008 20