Exemplo n.º 1
0
        public ClrStackWalk CreateStackWalk(DacLibrary library, uint flags)
        {
            CreateStackWalkDelegate create = (CreateStackWalkDelegate)Marshal.GetDelegateForFunctionPointer(VTable->CreateStackWalk, typeof(CreateStackWalkDelegate));
            int hr = create(Self, flags, out IntPtr pUnk);

            if (hr != S_OK)
            {
                return(null);
            }

            return(new ClrStackWalk(library, pUnk));
        }
Exemplo n.º 2
0
        public ClrStackWalk?CreateStackWalk(DacLibrary library, uint flags)
        {
            CreateStackWalkDelegate create = Marshal.GetDelegateForFunctionPointer <CreateStackWalkDelegate>(VTable.CreateStackWalk);

            if (!create(Self, flags, out IntPtr pUnk))
            {
                return(null);
            }

            GC.KeepAlive(create);
            return(new ClrStackWalk(library, pUnk));
        }