/// <summary> /// Set the return value for the <see cref="CfxApp.GetRenderProcessHandler"/> callback. /// Calling SetReturnValue() more then once per callback or from different event handlers will cause an exception to be thrown. /// </summary> public void SetReturnValue(CfxRenderProcessHandler returnValue) { CheckAccess(); if (returnValueSet) { throw new CfxException("The return value has already been set"); } returnValueSet = true; this.m_returnValue = returnValue; }
static void Main() { CfxRuntime.LibCefDirPath = @"cef\Release"; var app = new CfxApp(); var handler = new CfxRenderProcessHandler(); app.GetRenderProcessHandler += (sender, args) => args.SetReturnValue(handler); int retval = CfxRuntime.ExecuteProcess(app); Environment.Exit(retval); }
internal static void get_render_process_handler(IntPtr gcHandlePtr, out IntPtr __retval) { var self = (CfxApp)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null || self.CallbacksDisabled) { __retval = default(IntPtr); return; } var e = new CfxGetRenderProcessHandlerEventArgs(); self.m_GetRenderProcessHandler?.Invoke(self, e); e.m_isInvalid = true; __retval = CfxRenderProcessHandler.Unwrap(e.m_returnValue); }