FreeRDP
Loading...
Searching...
No Matches
shadow_channels.c
1
19#include <freerdp/config.h>
20
21#include "shadow.h"
22
23#include "shadow_channels.h"
24
25UINT shadow_client_channels_post_connect(rdpShadowClient* client)
26{
27 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, ENCOMSP_SVC_CHANNEL_NAME))
28 {
29 if (shadow_client_encomsp_init(client) < 0)
30 return ERROR_NOT_READY;
31 }
32
33 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, REMDESK_SVC_CHANNEL_NAME))
34 {
35 if (shadow_client_remdesk_init(client) < 0)
36 return ERROR_NOT_READY;
37 }
38
39 if (WTSVirtualChannelManagerIsChannelJoined(client->vcm, RDPSND_CHANNEL_NAME))
40 {
41 if (shadow_client_rdpsnd_init(client) < 0)
42 return ERROR_NOT_READY;
43 }
44
45 if (!shadow_client_audin_init(client))
46 return ERROR_NOT_READY;
47
48 if (shadow_client_rdpgfx_init(client) < 0)
49 return ERROR_NOT_READY;
50
51 return CHANNEL_RC_OK;
52}
53
54void shadow_client_channels_free(rdpShadowClient* client)
55{
56 shadow_client_rdpgfx_uninit(client);
57 shadow_client_audin_uninit(client);
58 shadow_client_rdpsnd_uninit(client);
59 shadow_client_remdesk_uninit(client);
60 shadow_client_encomsp_uninit(client);
61}