private static bool TryGetNewPath(string oldFilePath, out string newFilePath)
        {
            oldFilePath = oldFilePath.TrimStart(_prefix);
            if (!String.IsNullOrEmpty(oldFilePath))
            {
                oldFilePath = Path.GetFullPath(oldFilePath);

                // Get redirected path.
                if (_redirectorController.Loading != null)
                {
                    _ntCreateFileHook.Disable();
                    _redirectorController.Loading.Invoke(oldFilePath);
                    _ntCreateFileHook.Enable();
                }

                if (_redirector.TryRedirect(oldFilePath, out newFilePath))
                {
                    string newPath = newFilePath;
                    if (_redirectorController.Redirecting != null)
                    {
                        _ntCreateFileHook.Disable();
                        _redirectorController.Redirecting.Invoke(oldFilePath, newPath);
                        _ntCreateFileHook.Enable();
                    }

                    return(true);
                }
            }

            newFilePath = oldFilePath;
            return(false);
        }
コード例 #2
0
 /// <summary>
 /// Re-enables the state tracker.
 /// </summary>
 public void Enable()
 {
     _onTitleSequenceHook.Enable();
     _onRaceHook.Enable();
     _onCharaSelectHook.Enable();
     _onCourseSelectHook.Enable();
     _onRaceSettingsHook.Enable();
     _messageBoxHook.Enable();
 }
コード例 #3
0
ファイル: Toner.cs プロジェクト: Sewer56/TONERR.ReloadedII
 public void Enable()
 {
     _loadHAnimationHook.Enable();
     _loadClumpHook.Enable();
     _loadTextureDictionaryHook.Enable();
     _loadSplineHook.Enable();
     _loadDeltaMorphHook.Enable();
     _loadWorldHook.Enable();
     _loadUvAnimHook.Enable();
     _loadMaestroHook.Enable();
     _loadCameraTmbHook.Enable();
 }
コード例 #4
0
        public void TestHookMul()
        {
            int Hookfunction01(int a, int b)
            {
                return(_multiplyHook01.OriginalFunction(a, b) * MultiplyConstant);
            }

            int Hookfunction02(int a, int b)
            {
                return(_multiplyHook02.OriginalFunction(a, b) * MultiplyConstant);
            }

            _multiplyHook01 = new Hook <Calculator.MultiplyFunction>(Hookfunction01, (long)_calculator.Multiply).Activate();
            _multiplyHook02 = new Hook <Calculator.MultiplyFunction>(Hookfunction02, (long)_calculator.Multiply).Activate();

            // 11, 10, 01, 00 labels below represent hook enable states. First bit is _multiplyHook01, second is _multiplyHook02.

            // 01, 10: Common test.

            // 11
            AssertTwoHooksEnabled();

            // 10
            _multiplyHook01.Disable();
            _multiplyHook02.Enable();
            AssertOneHookEnabled();

            // 01
            _multiplyHook01.Enable();
            _multiplyHook02.Disable();
            AssertOneHookEnabled();

            // 00
            _multiplyHook01.Disable();
            _multiplyHook02.Disable();
            AssertZeroHooksEnabled();
        }
コード例 #5
0
 public void Resume()
 {
     mEmulatorCtorHook.Enable();
 }
コード例 #6
0
 private void EnableRedirectionHooks()
 {
     _readFileHook.Enable();
     _createFileHook.Enable();
     _getFileSizeHook.Enable();
 }
コード例 #7
0
 public void Enable()
 {
     _presentHook?.Enable();
     _resizeBuffersHook?.Enable();
 }
コード例 #8
0
 public void Resume()
 {
     _charaSelectHook.Enable();
     _titleHook.Enable();
 }
 public void Resume() => _optimizeHook.Enable();
コード例 #10
0
ファイル: HookManager.cs プロジェクト: Zivaka/VirtualPC_WPF
 public void Attach(IHook hook)
 {
     hook.Enable(_window);
     _hooks.Add(hook);
 }
コード例 #11
0
 public override void Resume()
 {
     mAppUpdateExHook.Enable();
 }
コード例 #12
0
 public void Enable()
 {
     _endSceneHook.Enable();
     _resetHook.Enable();
     _releaseHook.Enable();
 }
コード例 #13
0
 /// <summary>
 /// Re-enables the hooks.
 /// </summary>
 public void Resume()
 {
     _psPadServerHook.Enable();
     _periMakeRepeatCountHook.Enable();
 }