Dear Marc-Andre and all, It seems that Cloudbase solutions did not move forward their work on FreeRDP-WebConnect. https://github.com/FreeRDP/FreeRDP-WebConnect/issues/27 Marc-Andre is the author of client/X11/xfreerdp.c With reference to client/X11/xfreerdp.c, I am integrating the rdpdr plugin for FreeRDP-WebConnect. I use xfreerdp -u username -p password --plugin rdpdr --data disk:share:/home/abc -- 192.168.1.100 I get the trace of xfreerdp login for the following 3 command lines of xfreerdp.c (int main(int argc, char* argv[])) (1) instance->PreConnect = xf_pre_connect; (2) instance->PostConnect = xf_post_connect; (3) instance->ReceiveChannelData = xf_receive_channel_data; **************************************************************** (1) execute instance->PreConnect = xf_pre_connect;
freerdp_parse_args: plugin_data= disk share /home/abc check plugin_data of freerdp_load_plugin name=rdpdr enter freerdp_load_plugin before suffixed_name: name=rdpdr entry_name=VirtualChannelEntry enter freerdp_append_shared_library_suffix: file_path is NOT NULL=rdpdr file path is equal: path=rdpdr.so no explicit path given: path=/usr/lib/freerdp/rdpdr.so suffixed_name=rdpdr.so freerdp_load_library_symbol: path=/usr/lib/freerdp/rdpdr.so entry_name=VirtualChannelEntry freerdp_load_plugin name=rdpdr successfully freerdp_channels_pre_connect channel: rdpdr (2) execute instance->PreConnect = xf_pre_connect; freerdp_channels_post_connect channel: rdpdr hostname [192.168.1.100] channels->num_libs [1] (3) My question is here ????????? I can NOT find where to call freerdp_load_plugin enter freerdp_load_plugin before suffixed_name: name=disk entry_name=DeviceServiceEntry enter freerdp_append_shared_library_suffix: file_path is NOT NULL=disk file path is equal: path=disk.so no explicit path given: path=/usr/lib/freerdp/disk.so suffixed_name=disk.so freerdp_load_library_symbol: path=/usr/lib/freerdp/disk.so entry_name=DeviceServiceEntry (4) execute instance->ReceiveChannelData = xf_receive_channel_data; Receive channel data: rdpdr, channel_id is 1005 **************************************************************** My question is: Which command or function produces the trace of step 3? The trace of Step 3 is supposed to appear inside step 1 [calling boolean xf_pre_connect(freerdp* instance) ] Inside boolean xf_pre_connect(freerdp* instance), we have arg_parse_result = freerdp_parse_args(instance->settings, instance->context->argc,instance->context->argv, xf_process_plugin_args, instance->context->channels, xf_process_client_args, xfi); This means that after xfreerdp loads rdpdr.so, then xfreerdp should load disk.so immediately. However, after xfreerdp loads rdpdr.so, xfreerdp move forward to boolean xf_post_connect(freerdp* instance), then suddely call void* freerdp_load_plugin(const char* name, const char* entry_name) to load disk.so Would you please tell me where xfreerdp call call void* freerdp_load_plugin(const char* name, const char* entry_name) to load disk.so? Thank you very much for your great help in advance. Best regards, Yang Hong Ottawa, Ontario Canada http://www.researchgate.net/post/What_are_trends_in_control_theory_and_its_applications_in_physical_systems_from_a_research_point_of_view2 ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel