コード例 #1
0
        public int GetFunctionFromRVA(ulong rva, out CorDebugFunction function)
        {
            void **pFunction = default;
            int    result    = Calli(_this, This[0]->GetFunctionFromRVA, rva, &pFunction);

            ComFactory.Create(pFunction, out function);
            return(result);
        }
コード例 #2
0
        /// <summary>
        /// Gets the function that is specified by the metadata token.
        /// </summary>
        /// <param name="methodDef">
        /// A <c>mdMethodDef</c> metadata token that references the
        /// function's metadata.
        /// </param>
        /// <param name="function">
        /// The <see cref="CorDebugFunction" /> that represents the function.
        /// </param>
        /// <remarks>
        /// This method returns a <c>CORDBG_E_FUNCTION_NOT_IL</c>(0x8013130A) HRESULT
        /// if the value passed in <c>methodDef</c> does not refer to a Microsoft
        /// intermediate language (MSIL) method.
        /// </remarks>
        public int GetFunctionFromToken(uint methodDef, out CorDebugFunction function)
        {
            void **pFunction = default;
            int    result    = Calli(_this, This[0]->GetFunctionFromToken, methodDef, &pFunction);

            ComFactory.Create(pFunction, out function);
            return(result);
        }
コード例 #3
0
        public int GetVirtualMethod(uint memberRef, out CorDebugFunction function)
        {
            void **pFunction = default;
            int    result    = Calli(_this, This[0]->GetVirtualMethod, memberRef, &pFunction);

            ComFactory.Create(pFunction, out function);
            return(result);
        }
コード例 #4
0
 /// <summary>
 /// Gets the function associated with this instance.
 /// </summary>
 /// <remarks>
 /// <see cref="CorDebugCode" /> and <see cref="CorDebugFunction" /> maintain a one-to-one
 /// relationship.
 /// </remarks>
 public int GetFunction(out CorDebugFunction function) => InvokeGetObject(_this, This[0]->GetFunction, out function);
コード例 #5
0
 public int NewObject(CorDebugFunction constructor, ReadOnlySpan <CorDebugValue> args)
 {
     using var pArgs        = NativeArray.AllocCom(args);
     using var pConstructor = constructor?.AcquirePointer();
     return(Calli(_this, This[0]->NewObject, pConstructor, (void **)pArgs));
 }
コード例 #6
0
 public int CallFunction(CorDebugFunction function, ReadOnlySpan <CorDebugValue> args)
 {
     using var pArgs     = NativeArray.AllocCom(args);
     using var pFunction = function?.AcquirePointer();
     return(Calli(_this, This[0]->CallFunction, pFunction, (void **)pArgs));
 }