FreeRDP
Loading...
Searching...
No Matches
wtsvc.h
1
32#ifndef FREERDP_WTSVC_H
33#define FREERDP_WTSVC_H
34
35#include <freerdp/types.h>
36#include <freerdp/peer.h>
37
38#include <winpr/winpr.h>
39#include <winpr/wtypes.h>
40#include <winpr/wtsapi.h>
41
42#ifdef __cplusplus
43extern "C"
44{
45#endif
46
47 enum
48 {
49 DRDYNVC_STATE_NONE = 0,
50 DRDYNVC_STATE_INITIALIZED = 1,
51 DRDYNVC_STATE_READY = 2,
52 DRDYNVC_STATE_FAILED = 3
53 };
54
55 typedef BOOL (*psDVCCreationStatusCallback)(void* userdata, UINT32 channelId,
56 INT32 creationStatus);
57
61#if defined(WITH_FREERDP_DEPRECATED)
62 WINPR_DEPRECATED_VAR("Use WTSVirtualChannelManagerGetEventHandle",
63 FREERDP_API void WTSVirtualChannelManagerGetFileDescriptor(
64 HANDLE hServer, void** fds, int* fds_count));
65#endif
66 WINPR_ATTR_NODISCARD
67 FREERDP_API BOOL WTSVirtualChannelManagerOpen(HANDLE hServer);
68
69 WINPR_ATTR_NODISCARD
70 FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptor(HANDLE hServer);
71
72 WINPR_ATTR_NODISCARD
73 FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptorEx(HANDLE hServer, BOOL autoOpen);
74
75 WINPR_ATTR_NODISCARD
76 FREERDP_API HANDLE WTSVirtualChannelManagerGetEventHandle(HANDLE hServer);
77
78 WINPR_ATTR_NODISCARD
79 FREERDP_API BOOL WTSVirtualChannelManagerIsChannelJoined(HANDLE hServer, const char* name);
80
81 WINPR_ATTR_NODISCARD
82 FREERDP_API BYTE WTSVirtualChannelManagerGetDrdynvcState(HANDLE hServer);
83
84 FREERDP_API void WTSVirtualChannelManagerSetDVCCreationCallback(HANDLE hServer,
85 psDVCCreationStatusCallback cb,
86 void* userdata);
87
91 WINPR_ATTR_NODISCARD
92 FREERDP_API UINT16 WTSChannelGetId(freerdp_peer* client, const char* channel_name);
93
94 WINPR_ATTR_NODISCARD
95 FREERDP_API BOOL WTSIsChannelJoinedByName(freerdp_peer* client, const char* channel_name);
96
97 WINPR_ATTR_NODISCARD
98 FREERDP_API BOOL WTSIsChannelJoinedById(freerdp_peer* client, UINT16 channel_id);
99
100 WINPR_ATTR_NODISCARD
101 FREERDP_API BOOL WTSChannelSetHandleByName(freerdp_peer* client, const char* channel_name,
102 void* handle);
103
104 WINPR_ATTR_NODISCARD
105 FREERDP_API BOOL WTSChannelSetHandleById(freerdp_peer* client, UINT16 channel_id, void* handle);
106
107 WINPR_ATTR_NODISCARD
108 FREERDP_API void* WTSChannelGetHandleByName(freerdp_peer* client, const char* channel_name);
109
110 WINPR_ATTR_NODISCARD
111 FREERDP_API void* WTSChannelGetHandleById(freerdp_peer* client, UINT16 channel_id);
112
113 WINPR_ATTR_NODISCARD
114 FREERDP_API const char* WTSChannelGetName(freerdp_peer* client, UINT16 channel_id);
115
116 WINPR_ATTR_NODISCARD
117 FREERDP_API char** WTSGetAcceptedChannelNames(freerdp_peer* client, size_t* count);
118
119 WINPR_ATTR_NODISCARD
120 FREERDP_API INT64 WTSChannelGetOptions(freerdp_peer* client, UINT16 channel_id);
121
122 WINPR_ATTR_NODISCARD
123 FREERDP_API UINT32 WTSChannelGetIdByHandle(HANDLE hChannelHandle);
124
125#ifdef __cplusplus
126}
127#endif
128
129#endif /* FREERDP_WTSVC_H */