diff --git a/channels/audin/server/audin.c b/channels/audin/server/audin.c index bc74c1f63..35b50202d 100644 --- a/channels/audin/server/audin.c +++ b/channels/audin/server/audin.c @@ -397,7 +397,7 @@ static BOOL audin_server_open(audin_server_context* context) if (!audin->thread) { - audin->audin_channel = WTSVirtualChannelOpenEx(context->vcm, "AUDIO_INPUT", WTS_CHANNEL_OPTION_DYNAMIC); + audin->audin_channel = WTSVirtualChannelManagerOpenEx(context->vcm, "AUDIO_INPUT", WTS_CHANNEL_OPTION_DYNAMIC); if (!audin->audin_channel) return FALSE; diff --git a/channels/cliprdr/server/cliprdr_main.c b/channels/cliprdr/server/cliprdr_main.c index c3c35c669..3e81809f0 100644 --- a/channels/cliprdr/server/cliprdr_main.c +++ b/channels/cliprdr/server/cliprdr_main.c @@ -468,7 +468,7 @@ static void* cliprdr_server_thread(void* arg) static int cliprdr_server_start(CliprdrServerContext* context) { - context->priv->ChannelHandle = WTSVirtualChannelOpenEx(context->vcm, "cliprdr", 0); + context->priv->ChannelHandle = WTSVirtualChannelManagerOpenEx(context->vcm, "cliprdr", 0); if (!context->priv->ChannelHandle) return -1; diff --git a/channels/drdynvc/server/drdynvc_main.c b/channels/drdynvc/server/drdynvc_main.c index ecca8e587..07da57e0c 100644 --- a/channels/drdynvc/server/drdynvc_main.c +++ b/channels/drdynvc/server/drdynvc_main.c @@ -68,7 +68,7 @@ static void* drdynvc_server_thread(void* arg) } if (WTSVirtualChannelRead(context->priv->ChannelHandle, 0, - Stream_Buffer(s), Stream_Capacity(s), &BytesReturned)) + (PCHAR) Stream_Buffer(s), Stream_Capacity(s), &BytesReturned)) { if (BytesReturned) Stream_Seek(s, BytesReturned); @@ -86,7 +86,7 @@ static void* drdynvc_server_thread(void* arg) static int drdynvc_server_start(DrdynvcServerContext* context) { - context->priv->ChannelHandle = WTSVirtualChannelOpenEx(context->vcm, "rdpdr", 0); + context->priv->ChannelHandle = WTSVirtualChannelManagerOpenEx(context->vcm, "rdpdr", 0); if (!context->priv->ChannelHandle) return -1; diff --git a/channels/rdpdr/server/rdpdr_main.c b/channels/rdpdr/server/rdpdr_main.c index 58f057bac..16c150eaa 100644 --- a/channels/rdpdr/server/rdpdr_main.c +++ b/channels/rdpdr/server/rdpdr_main.c @@ -630,7 +630,7 @@ static void* rdpdr_server_thread(void* arg) static int rdpdr_server_start(RdpdrServerContext* context) { - context->priv->ChannelHandle = WTSVirtualChannelOpenEx(context->vcm, "rdpdr", 0); + context->priv->ChannelHandle = WTSVirtualChannelManagerOpenEx(context->vcm, "rdpdr", 0); if (!context->priv->ChannelHandle) return -1; diff --git a/channels/rdpsnd/server/rdpsnd_main.c b/channels/rdpsnd/server/rdpsnd_main.c index 070958088..4bc7107d5 100644 --- a/channels/rdpsnd/server/rdpsnd_main.c +++ b/channels/rdpsnd/server/rdpsnd_main.c @@ -488,7 +488,7 @@ static BOOL rdpsnd_server_close(RdpsndServerContext* context) static int rdpsnd_server_start(RdpsndServerContext* context) { - context->priv->ChannelHandle = WTSVirtualChannelOpenEx(context->vcm, "rdpsnd", 0); + context->priv->ChannelHandle = WTSVirtualChannelManagerOpenEx(context->vcm, "rdpsnd", 0); if (!context->priv->ChannelHandle) return -1; diff --git a/channels/server/channels.c b/channels/server/channels.c index 53d474eba..35da5afb2 100644 --- a/channels/server/channels.c +++ b/channels/server/channels.c @@ -518,13 +518,13 @@ BOOL WTSVirtualChannelManagerCheckFileDescriptor(WTSVirtualChannelManager* vcm) /* Initialize drdynvc channel once and only once. */ vcm->drdynvc_state = DRDYNVC_STATE_INITIALIZED; - channel = WTSVirtualChannelOpenEx(vcm, "drdynvc", 0); + channel = WTSVirtualChannelManagerOpenEx(vcm, "drdynvc", 0); if (channel) { vcm->drdynvc_channel = channel; dynvc_caps = 0x00010050; /* DYNVC_CAPS_VERSION1 (4 bytes) */ - WTSVirtualChannelWrite(channel, (BYTE*) &dynvc_caps, sizeof(dynvc_caps), NULL); + WTSVirtualChannelWrite(channel, (PCHAR) &dynvc_caps, sizeof(dynvc_caps), NULL); } } @@ -555,10 +555,7 @@ HANDLE WTSVirtualChannelManagerGetEventHandle(WTSVirtualChannelManager* vcm) return vcm->send_event; } -void* WTSVirtualChannelOpenEx( - /* __in */ WTSVirtualChannelManager* vcm, - /* __in */ const char* pVirtualName, - /* __in */ UINT32 flags) +HANDLE WTSVirtualChannelManagerOpenEx(WTSVirtualChannelManager* vcm, LPSTR pVirtualName, DWORD flags) { int i; int len; @@ -608,7 +605,7 @@ void* WTSVirtualChannelOpenEx( s = Stream_New(NULL, 64); wts_write_drdynvc_create_request(s, channel->channel_id, pVirtualName); - WTSVirtualChannelWrite(vcm->drdynvc_channel, Stream_Buffer(s), Stream_GetPosition(s), NULL); + WTSVirtualChannelWrite(vcm->drdynvc_channel, (PCHAR) Stream_Buffer(s), Stream_GetPosition(s), NULL); Stream_Free(s, TRUE); DEBUG_DVC("ChannelId %d.%s (total %d)", channel->channel_id, pVirtualName, list_size(vcm->dvc_channel_list)); @@ -851,8 +848,7 @@ BOOL WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer, ULONG Length, P return TRUE; } -BOOL WTSVirtualChannelClose( - /* __in */ void* hChannelHandle) +BOOL WTSVirtualChannelClose(HANDLE hChannelHandle) { wStream* s; wts_data_item* item; @@ -878,7 +874,7 @@ BOOL WTSVirtualChannelClose( { s = Stream_New(NULL, 8); wts_write_drdynvc_header(s, CLOSE_REQUEST_PDU, channel->channel_id); - WTSVirtualChannelWrite(vcm->drdynvc_channel, Stream_Buffer(s), Stream_GetPosition(s), NULL); + WTSVirtualChannelWrite(vcm->drdynvc_channel, (PCHAR) Stream_Buffer(s), Stream_GetPosition(s), NULL); Stream_Free(s, TRUE); } } diff --git a/include/freerdp/channels/wtsvc.h b/include/freerdp/channels/wtsvc.h index b1191f177..3a01c525b 100644 --- a/include/freerdp/channels/wtsvc.h +++ b/include/freerdp/channels/wtsvc.h @@ -65,10 +65,9 @@ extern "C" { */ FREERDP_API WTSVirtualChannelManager* WTSCreateVirtualChannelManager(freerdp_peer* client); FREERDP_API void WTSDestroyVirtualChannelManager(WTSVirtualChannelManager* vcm); -FREERDP_API void WTSVirtualChannelManagerGetFileDescriptor(WTSVirtualChannelManager* vcm, - void** fds, int* fds_count); -FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptor(WTSVirtualChannelManager* vcm); +FREERDP_API void WTSVirtualChannelManagerGetFileDescriptor(WTSVirtualChannelManager* vcm, void** fds, int* fds_count); +FREERDP_API BOOL WTSVirtualChannelManagerCheckFileDescriptor(WTSVirtualChannelManager* vcm); FREERDP_API HANDLE WTSVirtualChannelManagerGetEventHandle(WTSVirtualChannelManager* vcm); /** @@ -84,10 +83,7 @@ FREERDP_API HANDLE WTSVirtualChannelManagerGetEventHandle(WTSVirtualChannelManag // WINPR_API HANDLE WTSVirtualChannelOpenEx(DWORD SessionId, LPSTR pVirtualName, DWORD flags); -FREERDP_API void* WTSVirtualChannelOpenEx( - /* __in */ WTSVirtualChannelManager* vcm, - /* __in */ const char* pVirtualName, - /* __in */ UINT32 flags); +WINPR_API HANDLE WTSVirtualChannelManagerOpenEx(WTSVirtualChannelManager* vcm, LPSTR pVirtualName, DWORD flags); /** * Returns information about a specified virtual channel. @@ -134,10 +130,7 @@ WINPR_API BOOL WTSVirtualChannelWrite(HANDLE hChannelHandle, PCHAR Buffer, ULONG * Closes an open virtual channel handle. */ -// WINPR_API BOOL WTSVirtualChannelClose(HANDLE hChannelHandle); - -FREERDP_API BOOL WTSVirtualChannelClose( - /* __in */ void* hChannelHandle); +WINPR_API BOOL WTSVirtualChannelClose(HANDLE hChannelHandle); #ifdef __cplusplus } diff --git a/server/Sample/sfreerdp.c b/server/Sample/sfreerdp.c index a88986150..46615ec3e 100644 --- a/server/Sample/sfreerdp.c +++ b/server/Sample/sfreerdp.c @@ -398,10 +398,10 @@ static void* tf_debug_channel_thread_func(void* arg) void* fd; wStream* s; void* buffer; - UINT32 bytes_returned = 0; + DWORD BytesReturned = 0; testPeerContext* context = (testPeerContext*) arg; - if (WTSVirtualChannelQuery(context->debug_channel, WTSVirtualFileHandle, &buffer, &bytes_returned) == TRUE) + if (WTSVirtualChannelQuery(context->debug_channel, WTSVirtualFileHandle, &buffer, &BytesReturned) == TRUE) { fd = *((void**) buffer); WTSFreeMemory(buffer); @@ -411,7 +411,7 @@ static void* tf_debug_channel_thread_func(void* arg) s = Stream_New(NULL, 4096); - WTSVirtualChannelWrite(context->debug_channel, (BYTE*) "test1", 5, NULL); + WTSVirtualChannelWrite(context->debug_channel, (PCHAR) "test1", 5, NULL); while (1) { @@ -422,25 +422,25 @@ static void* tf_debug_channel_thread_func(void* arg) Stream_SetPosition(s, 0); - if (WTSVirtualChannelRead(context->debug_channel, 0, Stream_Buffer(s), - Stream_Capacity(s), &bytes_returned) == FALSE) + if (WTSVirtualChannelRead(context->debug_channel, 0, (PCHAR) Stream_Buffer(s), + Stream_Capacity(s), &BytesReturned) == FALSE) { - if (bytes_returned == 0) + if (BytesReturned == 0) break; - Stream_EnsureRemainingCapacity(s, bytes_returned); + Stream_EnsureRemainingCapacity(s, BytesReturned); - if (WTSVirtualChannelRead(context->debug_channel, 0, Stream_Buffer(s), - Stream_Capacity(s), &bytes_returned) == FALSE) + if (WTSVirtualChannelRead(context->debug_channel, 0, (PCHAR) Stream_Buffer(s), + Stream_Capacity(s), &BytesReturned) == FALSE) { /* should not happen */ break; } } - Stream_SetPosition(s, bytes_returned); + Stream_SetPosition(s, BytesReturned); - printf("got %d bytes\n", bytes_returned); + printf("got %d bytes\n", BytesReturned); } Stream_Free(s, TRUE);