internal static void create(IntPtr gcHandlePtr, out IntPtr __retval, IntPtr browser, out int browser_release, IntPtr frame, out int frame_release, IntPtr scheme_name_str, int scheme_name_length, IntPtr request, out int request_release)
        {
            var self = (CfxSchemeHandlerFactory)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (browser == IntPtr.Zero)
            {
                //TODO:还是没搞懂,显示DevTools时,为啥会为空
                __retval        = default(IntPtr);
                browser_release = 0;
                frame_release   = 0;
                request_release = 0;
                return;
            }

            if (self == null || self.CallbacksDisabled)
            {
                __retval        = default(IntPtr);
                browser_release = 1;
                frame_release   = 1;
                request_release = 1;
                return;
            }
            var e = new CfxSchemeHandlerFactoryCreateEventArgs(browser, frame, scheme_name_str, scheme_name_length, request);

            self.m_Create?.Invoke(self, e);
            e.m_isInvalid   = true;
            browser_release = e.m_browser_wrapped == null? 1 : 0;
            frame_release   = e.m_frame_wrapped == null? 1 : 0;
            request_release = e.m_request_wrapped == null? 1 : 0;
            __retval        = CfxResourceHandler.Unwrap(e.m_returnValue);
        }
        internal static void create(IntPtr gcHandlePtr, out IntPtr __retval, IntPtr browser, IntPtr frame, IntPtr scheme_name_str, int scheme_name_length, IntPtr request)
        {
            var self = (CfxSchemeHandlerFactory)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || browser == IntPtr.Zero)
            {
                //TOD:这里为什么会为空?
                __retval = default(IntPtr);
                return;
            }
            var e            = new CfxSchemeHandlerFactoryCreateEventArgs(browser, frame, scheme_name_str, scheme_name_length, request);
            var eventHandler = self.m_Create;

            if (eventHandler != null)
            {
                eventHandler(self, e);
            }
            e.m_isInvalid = true;
            if (e.m_browser_wrapped == null)
            {
                CfxApi.cfx_release(e.m_browser);
            }
            if (e.m_frame_wrapped == null)
            {
                CfxApi.cfx_release(e.m_frame);
            }
            if (e.m_request_wrapped == null)
            {
                CfxApi.cfx_release(e.m_request);
            }
            __retval = CfxResourceHandler.Unwrap(e.m_returnValue);
        }