diff --git a/channels/audin/client/audin_main.c b/channels/audin/client/audin_main.c index 2d68d3af9..d2d3147f3 100644 --- a/channels/audin/client/audin_main.c +++ b/channels/audin/client/audin_main.c @@ -820,7 +820,7 @@ static UINT audin_load_device_plugin(AUDIN_PLUGIN* audin, const char* name, cons return ERROR_INVALID_FUNCTION; } - entryPoints.plugin = (IWTSPlugin*)audin; + entryPoints.plugin = &audin->iface; entryPoints.pRegisterAudinDevice = audin_register_device_plugin; entryPoints.args = args; entryPoints.rdpcontext = audin->rdpcontext; @@ -1100,11 +1100,11 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) goto out; } - error = pEntryPoints->RegisterPlugin(pEntryPoints, "audin", (IWTSPlugin*)audin); + error = pEntryPoints->RegisterPlugin(pEntryPoints, "audin", &audin->iface); if (error == CHANNEL_RC_OK) return error; out: - audin_plugin_terminated((IWTSPlugin*)audin); + audin_plugin_terminated(&audin->iface); return error; } diff --git a/channels/disp/client/disp_main.c b/channels/disp/client/disp_main.c index 156451270..eb90b121c 100644 --- a/channels/disp/client/disp_main.c +++ b/channels/disp/client/disp_main.c @@ -407,7 +407,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) context->handle = (void*)disp; context->SendMonitorLayout = disp_send_monitor_layout; disp->iface.pInterface = (void*)context; - error = pEntryPoints->RegisterPlugin(pEntryPoints, "disp", (IWTSPlugin*)disp); + error = pEntryPoints->RegisterPlugin(pEntryPoints, "disp", &disp->iface); } else { diff --git a/channels/echo/client/echo_main.c b/channels/echo/client/echo_main.c index 714294033..bbc53b849 100644 --- a/channels/echo/client/echo_main.c +++ b/channels/echo/client/echo_main.c @@ -209,7 +209,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) echo->iface.Disconnected = NULL; echo->iface.Terminated = echo_plugin_terminated; - status = pEntryPoints->RegisterPlugin(pEntryPoints, "echo", (IWTSPlugin*)echo); + status = pEntryPoints->RegisterPlugin(pEntryPoints, "echo", &echo->iface); } return status; diff --git a/channels/geometry/client/geometry_main.c b/channels/geometry/client/geometry_main.c index 7d38279dd..7a7195d0c 100644 --- a/channels/geometry/client/geometry_main.c +++ b/channels/geometry/client/geometry_main.c @@ -500,7 +500,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) context->handle = (void*)geometry; geometry->iface.pInterface = (void*)context; geometry->context = context; - error = pEntryPoints->RegisterPlugin(pEntryPoints, "geometry", (IWTSPlugin*)geometry); + error = pEntryPoints->RegisterPlugin(pEntryPoints, "geometry", &geometry->iface); } else { diff --git a/channels/rdpgfx/client/rdpgfx_main.c b/channels/rdpgfx/client/rdpgfx_main.c index 8ab117d2f..d2dcdf287 100644 --- a/channels/rdpgfx/client/rdpgfx_main.c +++ b/channels/rdpgfx/client/rdpgfx_main.c @@ -2193,7 +2193,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) gfx->iface.Disconnected = NULL; gfx->iface.Terminated = rdpgfx_plugin_terminated; - error = pEntryPoints->RegisterPlugin(pEntryPoints, "rdpgfx", (IWTSPlugin*)gfx); + error = pEntryPoints->RegisterPlugin(pEntryPoints, "rdpgfx", &gfx->iface); } return error; diff --git a/channels/sshagent/client/sshagent_main.c b/channels/sshagent/client/sshagent_main.c index aa7e632e7..07f57c385 100644 --- a/channels/sshagent/client/sshagent_main.c +++ b/channels/sshagent/client/sshagent_main.c @@ -379,7 +379,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) sshagent->rdpcontext = ((freerdp*)((rdpSettings*)pEntryPoints->GetRdpSettings(pEntryPoints))->instance) ->context; - status = pEntryPoints->RegisterPlugin(pEntryPoints, "sshagent", (IWTSPlugin*)sshagent); + status = pEntryPoints->RegisterPlugin(pEntryPoints, "sshagent", &sshagent->iface); } return status; diff --git a/channels/tsmf/client/tsmf_main.c b/channels/tsmf/client/tsmf_main.c index b68b647f0..7d4e5dbf2 100644 --- a/channels/tsmf/client/tsmf_main.c +++ b/channels/tsmf/client/tsmf_main.c @@ -606,7 +606,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) goto error_init; } - status = pEntryPoints->RegisterPlugin(pEntryPoints, "tsmf", (IWTSPlugin*)tsmf); + status = pEntryPoints->RegisterPlugin(pEntryPoints, "tsmf", &tsmf->iface); } if (status == CHANNEL_RC_OK) diff --git a/channels/urbdrc/client/urbdrc_main.c b/channels/urbdrc/client/urbdrc_main.c index d09b1929f..f32e4cce3 100644 --- a/channels/urbdrc/client/urbdrc_main.c +++ b/channels/urbdrc/client/urbdrc_main.c @@ -968,8 +968,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) urbdrc->iface.Initialize = urbdrc_plugin_initialize; urbdrc->iface.Terminated = urbdrc_plugin_terminated; urbdrc->vchannel_status = INIT_CHANNEL_IN; - status = - pEntryPoints->RegisterPlugin(pEntryPoints, URBDRC_CHANNEL_NAME, (IWTSPlugin*)urbdrc); + status = pEntryPoints->RegisterPlugin(pEntryPoints, URBDRC_CHANNEL_NAME, &urbdrc->iface); if (status != CHANNEL_RC_OK) goto fail; @@ -988,7 +987,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) if (!urbdrc->subsystem && !urbdrc_set_subsystem(urbdrc, "libusb")) goto fail; - return urbdrc_load_udevman_addin((IWTSPlugin*)urbdrc, urbdrc->subsystem, args); + return urbdrc_load_udevman_addin(&urbdrc->iface, urbdrc->subsystem, args); fail: urbdrc_plugin_terminated(&urbdrc->iface); return status; diff --git a/channels/video/client/video_main.c b/channels/video/client/video_main.c index 6bc659a32..8f9c42cb1 100644 --- a/channels/video/client/video_main.c +++ b/channels/video/client/video_main.c @@ -1135,7 +1135,7 @@ UINT DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints) videoPlugin->wtsPlugin.pInterface = (void*)videoContext; videoPlugin->context = videoContext; - error = pEntryPoints->RegisterPlugin(pEntryPoints, "video", (IWTSPlugin*)videoPlugin); + error = pEntryPoints->RegisterPlugin(pEntryPoints, "video", &videoPlugin->wtsPlugin); } else {