public void NewParameterizedObject(ICorDebugFunction pConstructor, uint nTypeArgs, ref ICorDebugType ppTypeArgs, uint nArgs, ref ICorDebugValue ppArgs)
 {
     Debugger.Interop.CorDebug.ICorDebugType  ref_ppTypeArgs = (ppTypeArgs == null)?null:ppTypeArgs.WrappedObject;
     Debugger.Interop.CorDebug.ICorDebugValue ref_ppArgs     = (ppTypeArgs == null)?null:ppArgs.WrappedObject;
     this.WrappedObject.NewParameterizedObject(pConstructor.WrappedObject, nTypeArgs, ref ref_ppTypeArgs, nArgs, ref ref_ppArgs);
     ppTypeArgs = ICorDebugType.Wrap(ref_ppTypeArgs);
     ppArgs     = ICorDebugValue.Wrap(ref_ppArgs);
 }
示例#2
0
 public static ICorDebugValue Wrap(Debugger.Interop.CorDebug.ICorDebugValue objectToWrap)
 {
     if ((objectToWrap != null))
     {
         return(new ICorDebugValue(objectToWrap));
     }
     else
     {
         return(null);
     }
 }
        /*public void CallParameterizedFunction(ICorDebugFunction pFunction, uint nTypeArgs, ref ICorDebugType ppTypeArgs, uint nArgs, ref ICorDebugValue ppArgs)
         * {
         *      Debugger.Interop.CorDebug.ICorDebugType ref_ppTypeArgs = ppTypeArgs.WrappedObject;
         *      Debugger.Interop.CorDebug.ICorDebugValue ref_ppArgs = ppArgs.WrappedObject;
         *      this.WrappedObject.CallParameterizedFunction(pFunction.WrappedObject, nTypeArgs, ref ref_ppTypeArgs, nArgs, ref ref_ppArgs);
         *      ppTypeArgs = ICorDebugType.Wrap(ref_ppTypeArgs);
         *      ppArgs = ICorDebugValue.Wrap(ref_ppArgs);
         * }*/

        public void CallParameterizedFunction(ICorDebugFunction pFunction, uint nTypeArgs, ICorDebugType[] ppTypeArgs, uint nArgs, ICorDebugValue[] ppArgs)
        {
            Debugger.Interop.CorDebug.ICorDebugType[] array_ppTypeArgs = new Debugger.Interop.CorDebug.ICorDebugType[ppTypeArgs.Length];
            for (int i = 0; (i < ppTypeArgs.Length); i = (i + 1))
            {
                if ((ppTypeArgs[i] != null))
                {
                    array_ppTypeArgs[i] = ppTypeArgs[i].WrappedObject;
                }
            }
            Debugger.Interop.CorDebug.ICorDebugValue[] array_ppArgs = new Debugger.Interop.CorDebug.ICorDebugValue[ppArgs.Length];
            for (int i = 0; (i < ppArgs.Length); i = (i + 1))
            {
                if ((ppArgs[i] != null))
                {
                    array_ppArgs[i] = ppArgs[i].WrappedObject;
                }
            }
            this.WrappedObject.CallParameterizedFunction(pFunction.WrappedObject, nTypeArgs, array_ppTypeArgs, nArgs, array_ppArgs);
            for (int i = 0; (i < ppTypeArgs.Length); i = (i + 1))
            {
                if ((array_ppTypeArgs[i] != null))
                {
                    ppTypeArgs[i] = ICorDebugType.Wrap(array_ppTypeArgs[i]);
                }
                else
                {
                    ppTypeArgs[i] = null;
                }
            }
            for (int i = 0; (i < ppArgs.Length); i = (i + 1))
            {
                if ((array_ppArgs[i] != null))
                {
                    ppArgs[i] = ICorDebugValue.Wrap(array_ppArgs[i]);
                }
                else
                {
                    ppArgs[i] = null;
                }
            }
        }
 public void NewObject(ICorDebugFunction pConstructor, uint nArgs, ref ICorDebugValue ppArgs)
 {
     Debugger.Interop.CorDebug.ICorDebugValue ref_ppArgs = ppArgs.WrappedObject;
     this.WrappedObject.NewObject(pConstructor.WrappedObject, nArgs, ref ref_ppArgs);
     ppArgs = ICorDebugValue.Wrap(ref_ppArgs);
 }
示例#5
0
 public ICorDebugValue(Debugger.Interop.CorDebug.ICorDebugValue wrappedObject)
 {
     this.wrappedObject = wrappedObject;
     ResourceManager.TrackCOMObject(wrappedObject, typeof(ICorDebugValue));
 }