Exemplo n.º 1
0
        protected void CreateWfi()
        {
            string[] argv = new string[] { System.IO.Path.GetFileName(System.Reflection.Assembly.GetEntryAssembly().Location) };

            StringBuilder cmdline = new StringBuilder();

            for (int i = 0; i < argv.Length; i++)
            {
                cmdline.Append(argv[i] + " ");
            }

            System.Diagnostics.Debug.WriteLine(cmdline.ToString());

            wfi             = NativeMethods.freerdp_client_new(argv.Length, argv);
            freeRDPsettings = new FreeRDPSettings(wfi);

            AdvancedSettings  = new FreeRDPAdvancedSettings(freeRDPsettings);
            TransportSettings = new FreeRDPTransportSettings(freeRDPsettings);
            SecuredSettings   = new FreeRDPSecuredSettings(freeRDPsettings);

            ((FreeRDPAdvancedSettings)AdvancedSettings).SettingsChanged   += FreeRDPClient_SettingsChanged;
            ((FreeRDPTransportSettings)TransportSettings).SettingsChanged += FreeRDPClient_SettingsChanged;
            ((FreeRDPSecuredSettings)SecuredSettings).SettingsChanged     += FreeRDPClient_SettingsChanged;

            callbackDelegate = new FreeRDPCallbackDelegate(FreeRDP_Callback);
            IntPtr callbackPtr = Marshal.GetFunctionPointerForDelegate(callbackDelegate);

            NativeMethods.freerdp_client_set_client_callback_function(wfi, callbackPtr);
        }
Exemplo n.º 2
0
        protected void ReleaseWfi()
        {
            if (wfi != IntPtr.Zero)
            {
                NativeMethods.freerdp_client_set_client_callback_function(wfi, IntPtr.Zero);
                callbackDelegate = null;

                NativeMethods.freerdp_client_free(wfi);
                wfi = IntPtr.Zero;
            }
        }