protected override void ExecuteInTargetProcess(RemoteConnection connection)
        {
            var self = (CfrRenderProcessHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                return;
            }
            var e = new CfrOnRenderThreadCreatedEventArgs(this);

            self.m_OnRenderThreadCreated?.Invoke(self, e);
            e.m_isInvalid      = true;
            extra_info_release = e.m_extra_info_wrapped == null? 1 : 0;
        }
        protected override void RemoteProcedure()
        {
            var self = (CfrRenderProcessHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                return;
            }
            var e = new CfrOnRenderThreadCreatedEventArgs(this);

            e.connection = CfxRemoteCallContext.CurrentContext.connection;
            self.m_OnRenderThreadCreated?.Invoke(self, e);
            e.connection       = null;
            extra_info_release = e.m_extra_info_wrapped == null? 1 : 0;
        }