public static int IsManaged(this ICorPublishProcess instance) { int pbManaged; instance.__IsManaged(out pbManaged); return(pbManaged); }
public static uint GetProcessID(this ICorPublishProcess instance) { uint pid; instance.__GetProcessID(out pid); return(pid); }
public static ICorPublishAppDomainEnum EnumAppDomains(this ICorPublishProcess instance) { ICorPublishAppDomainEnum ppEnum; instance.__EnumAppDomains(out ppEnum); return(ppEnum); }
public static bool IsManaged(int processId) //TODO: Why isn't this method used by AttachToProcessWindow? { var corPublish = new CorpubPublishClass(); ICorPublishProcess process = corPublish.GetProcess((uint)processId); if (process != null) { return(process.IsManaged() != 0); } return(false); }
public bool MoveNext() { uint pceltFetched = 0; this.Processes.Next(1, out this.CurrentProcess, out pceltFetched); if (pceltFetched != 1) { this.CurrentProcess = null; } return((this.CurrentProcess != null) && (pceltFetched == 1)); }
public bool IsManaged(int processId) { corPublish = new CorpubPublishClass(); CorDbg.Interop.TrackedComObjects.Track(corPublish); ICorPublishProcess process = corPublish.GetProcess((uint)processId); if (process != null) { return(process.IsManaged() != 0); } return(false); }
public bool IsManaged(int processId) { if (corPublish == null) { corPublish = new ICorPublish(); } ICorPublishProcess process = corPublish.GetProcess(processId); if (process != null) { return(process.IsManaged); } return(false); }
public static ManagedProcessInfo GetProcessByID(uint ID) { ICorPublish publish = (ICorPublish) new CorpubPublish(); if (publish != null) { ICorPublishProcess ppProcess = null; publish.GetProcess(ID, out ppProcess); if (ppProcess != null) { return(new ManagedProcessInfo(ppProcess)); } } return(null); }
public void Reset() { this.Processes.Reset(); this.CurrentProcess = null; }
public static void Next(this CorpubPublishClass instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) { instance.__Next(celt, out objects, out pceltFetched); ProcessOutParameter(objects); }
internal CorPublishProcess(ICorPublishProcess iprocess) { m_process = iprocess; }
public static void Next(this ICorPublishProcessEnum instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) { instance.__Next(celt, out objects, out pceltFetched); ProcessOutParameter(objects); }
public static void GetDisplayName(this ICorPublishProcess instance, uint cchName, out uint pcchName, StringBuilder szName) { instance.__GetDisplayName(cchName, out pcchName, szName); }
// Methods internal ManagedProcessInfoCollection(ICorPublishProcessEnum AllProcesses) { this.Processes = AllProcesses; this.CurrentProcess = null; }
// Methods internal ManagedProcessInfo(ICorPublishProcess SingleProcess) { this.Process = SingleProcess; }
public static void Next(this CorpubPublishClass instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) { instance.__Next(celt, out objects, out pceltFetched); }
public ICorPublishProcess GetProcess(int id) { Interop.CorPub.ICorPublishProcess process; this.corpubPublishClass.GetProcess((uint)id, out process); return(ICorPublishProcess.Wrap(process)); }
public virtual extern void GetProcess([In] uint pid, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess ppProcess);
public virtual extern void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess objects, out uint pceltFetched);
public static void Next(this ICorPublishProcessEnum instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) { instance.__Next(celt, out objects, out pceltFetched); }
void EnumAppDomainsShown(object sender, EventArgs e) { ICorPublish publish = (ICorPublish) new CorpubPublish(); if (publish != null) { ICorPublishProcess ppProcess = null; try { publish.GetProcess((uint)procid, out ppProcess); } catch { } if (ppProcess != null) { bool IsManaged = false; ppProcess.IsManaged(out IsManaged); if (IsManaged) { // Enumerate the domains within the process. ICorPublishAppDomainEnum ppEnum = null; ppProcess.EnumAppDomains(out ppEnum); ICorPublishAppDomain pappDomain; // ICorPublishAppDomain uint aFetched = 0; while (ppEnum.Next(1, out pappDomain, out aFetched) == 0 && aFetched > 0) { StringBuilder szName = null; try { uint pcchName = 0; pappDomain.GetName(0, out pcchName, null); szName = new StringBuilder((int)pcchName); pappDomain.GetName((uint)szName.Capacity, out pcchName, szName); } catch { } string appdomainname = szName.ToString(); uint appdomainid = 0; pappDomain.GetID(out appdomainid); ListViewItem appdomaintoadd = new ListViewItem(new string[] { appdomainid.ToString(), appdomainname }); lvdomains.Items.Add(appdomaintoadd); } } else { MessageBox.Show("Selected process is not a managed .NET process!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Failed to open slected process \r\n" + "maybe is not a .NET process!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }