Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3165 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
23 changed files with 553 additions and 163 deletions
Binary file not shown.
@ -0,0 +1,78 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.ComponentModel; |
||||||
|
using System.Diagnostics; |
||||||
|
using System.IO; |
||||||
|
using System.Windows.Forms; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop.Debugging; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
|
||||||
|
namespace ICSharpCode.SharpDevelop.Services |
||||||
|
{ |
||||||
|
public class AttachToProcessForm : AbstractAttachToProcessForm |
||||||
|
{ |
||||||
|
class ProcessListViewItem : ListViewItem |
||||||
|
{ |
||||||
|
Process process; |
||||||
|
bool managed; |
||||||
|
|
||||||
|
public ProcessListViewItem(Process process, WindowsDebugger debugger) |
||||||
|
{ |
||||||
|
this.process = process; |
||||||
|
try { |
||||||
|
managed = debugger.IsManaged(process.Id); |
||||||
|
} catch { } |
||||||
|
|
||||||
|
string fileName = Path.GetFileName(process.MainModule.FileName); |
||||||
|
Text = fileName; |
||||||
|
SubItems.Add(process.Id.ToString()); |
||||||
|
SubItems.Add(process.MainWindowTitle); |
||||||
|
SubItems.Add(GetManagedString(managed)); |
||||||
|
} |
||||||
|
|
||||||
|
public Process Process { |
||||||
|
get { return process; } |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsManaged { |
||||||
|
get { return managed; } |
||||||
|
} |
||||||
|
|
||||||
|
static string GetManagedString(bool managed) |
||||||
|
{ |
||||||
|
if (managed) { |
||||||
|
return StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.Dialogs.AttachToProcessForm.Managed}"); |
||||||
|
} |
||||||
|
return String.Empty; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
protected override void RefreshProcessList(ListView listView, bool showNonManaged) |
||||||
|
{ |
||||||
|
listView.Items.Clear(); |
||||||
|
WindowsDebugger debugger = (WindowsDebugger)DebuggerService.CurrentDebugger; |
||||||
|
Process currentProcess = Process.GetCurrentProcess(); |
||||||
|
foreach (System.Diagnostics.Process process in System.Diagnostics.Process.GetProcesses()) { |
||||||
|
try { |
||||||
|
// Prevent attaching to our own process.
|
||||||
|
if (currentProcess.Id != process.Id) { |
||||||
|
ProcessListViewItem item = new ProcessListViewItem(process, debugger); |
||||||
|
if (showNonManaged || item.IsManaged) { |
||||||
|
item.Tag = process; |
||||||
|
listView.Items.Add(item); |
||||||
|
} |
||||||
|
} |
||||||
|
} catch (Win32Exception) { |
||||||
|
// Do nothing.
|
||||||
|
} |
||||||
|
} |
||||||
|
listView.Sort(); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,60 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
[ComImport, TypeLibType((short) 2), ClassInterface((short) 0), Guid("047A9A40-657E-11D3-8D5B-00104B35E7EF")] |
||||||
|
public class CorpubPublishClass : ICorPublish, CorpubPublish, ICorPublishProcess, ICorPublishAppDomain, ICorPublishProcessEnum, ICorPublishAppDomainEnum |
||||||
|
{ |
||||||
|
// Methods
|
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void Clone([MarshalAs(UnmanagedType.Interface)] out ICorPublishEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void EnumAppDomains([MarshalAs(UnmanagedType.Interface)] out ICorPublishAppDomainEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void EnumProcesses([In, ComAliasName("CorpubProcessLib.COR_PUB_ENUMPROCESS")] COR_PUB_ENUMPROCESS Type, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcessEnum ppIEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetCount(out uint pcelt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetDisplayName([In] uint cchName, out uint pcchName, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder szName); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetID(out uint puId); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetName([In] uint cchName, out uint pcchName, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder szName); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetProcess([In] uint pid, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess ppProcess); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void GetProcessID(out uint pid); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void ICorPublishAppDomainEnum_Clone([MarshalAs(UnmanagedType.Interface)] out ICorPublishEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void ICorPublishAppDomainEnum_GetCount(out uint pcelt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void ICorPublishAppDomainEnum_Reset(); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void ICorPublishAppDomainEnum_Skip([In] uint celt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void IsManaged(out int pbManaged); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out ICorPublishAppDomain objects, out uint pceltFetched); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess objects, out uint pceltFetched); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void Reset(); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
public virtual extern void Skip([In] uint celt); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,23 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
[ComImport, CoClass(typeof(CorpubPublishClass)), Guid("9613A0E7-5A68-11D3-8F84-00A0C9B4D50C")] |
||||||
|
public interface CorpubPublish : ICorPublish |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
||||||
|
|
@ -0,0 +1,31 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
public enum COR_PUB_ENUMPROCESS |
||||||
|
{ |
||||||
|
COR_PUB_MANAGEDONLY = 1 |
||||||
|
} |
||||||
|
|
||||||
|
[ComImport, Guid("9613A0E7-5A68-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1)] |
||||||
|
public interface ICorPublish |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void EnumProcesses([In, ComAliasName("CorpubProcessLib.COR_PUB_ENUMPROCESS")] COR_PUB_ENUMPROCESS Type, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcessEnum ppIEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetProcess([In] uint pid, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess ppProcess); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,27 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
[ComImport, Guid("D6315C8F-5A6A-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1)] |
||||||
|
public interface ICorPublishAppDomain |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetID(out uint puId); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetName([In] uint cchName, out uint pcchName, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder szName); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,35 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
[ComImport, Guid("9F0C98F5-5A6A-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1),] |
||||||
|
public interface ICorPublishAppDomainEnum : ICorPublishEnum |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Skip([In] uint celt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Reset(); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Clone([MarshalAs(UnmanagedType.Interface)] out ICorPublishEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetCount(out uint pcelt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out ICorPublishAppDomain objects, out uint pceltFetched); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,30 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
[ComImport, Guid("C0B22967-5A69-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1)] |
||||||
|
public interface ICorPublishEnum |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Skip([In] uint celt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Reset(); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Clone([MarshalAs(UnmanagedType.Interface)] out ICorPublishEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetCount(out uint pcelt); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,31 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
[ComImport, Guid("18D87AF1-5A6A-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1)] |
||||||
|
public interface ICorPublishProcess |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void IsManaged(out int pbManaged); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void EnumAppDomains([MarshalAs(UnmanagedType.Interface)] out ICorPublishAppDomainEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetProcessID(out uint pid); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetDisplayName([In] uint cchName, out uint pcchName, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder szName); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,32 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 108, 1591
|
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
[ComImport, Guid("A37FBD41-5A69-11D3-8F84-00A0C9B4D50C"), InterfaceType((short) 1)] |
||||||
|
public interface ICorPublishProcessEnum : ICorPublishEnum |
||||||
|
{ |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Skip([In] uint celt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Reset(); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Clone([MarshalAs(UnmanagedType.Interface)] out ICorPublishEnum ppEnum); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void GetCount(out uint pcelt); |
||||||
|
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType=MethodCodeType.Runtime)] |
||||||
|
void Next([In] uint celt, [MarshalAs(UnmanagedType.Interface)] out ICorPublishProcess objects, out uint pceltFetched); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 108, 1591
|
@ -0,0 +1,34 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 1591
|
||||||
|
|
||||||
|
namespace Debugger.Core.Wrappers.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using Debugger.Wrappers; |
||||||
|
|
||||||
|
public partial class ICorPublish |
||||||
|
{ |
||||||
|
private Debugger.Interop.CorPub.CorpubPublishClass corpubPublishClass; |
||||||
|
|
||||||
|
public ICorPublish() |
||||||
|
{ |
||||||
|
corpubPublishClass = new Debugger.Interop.CorPub.CorpubPublishClass(); |
||||||
|
} |
||||||
|
|
||||||
|
public ICorPublishProcess GetProcess(int id) |
||||||
|
{ |
||||||
|
Debugger.Interop.CorPub.ICorPublishProcess process; |
||||||
|
this.corpubPublishClass.GetProcess((uint)id, out process); |
||||||
|
return ICorPublishProcess.Wrap(process); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 1591
|
@ -0,0 +1,68 @@ |
|||||||
|
// <file>
|
||||||
|
// <copyright see="prj:///doc/copyright.txt"/>
|
||||||
|
// <license see="prj:///doc/license.txt"/>
|
||||||
|
// <owner name="David Srbecký" email="dsrbecky@gmail.com"/>
|
||||||
|
// <version>$Revision$</version>
|
||||||
|
// </file>
|
||||||
|
|
||||||
|
#pragma warning disable 1591
|
||||||
|
|
||||||
|
namespace Debugger.Core.Wrappers.CorPub |
||||||
|
{ |
||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
using Debugger.Wrappers; |
||||||
|
|
||||||
|
public partial class ICorPublishProcess |
||||||
|
{ |
||||||
|
private Debugger.Interop.CorPub.ICorPublishProcess wrappedObject; |
||||||
|
|
||||||
|
internal Debugger.Interop.CorPub.ICorPublishProcess WrappedObject |
||||||
|
{ |
||||||
|
get |
||||||
|
{ |
||||||
|
return this.wrappedObject; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public ICorPublishProcess(Debugger.Interop.CorPub.ICorPublishProcess wrappedObject) |
||||||
|
{ |
||||||
|
this.wrappedObject = wrappedObject; |
||||||
|
ResourceManager.TrackCOMObject(wrappedObject, typeof(ICorPublishProcess)); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishProcess Wrap(Debugger.Interop.CorPub.ICorPublishProcess objectToWrap) |
||||||
|
{ |
||||||
|
if ((objectToWrap != null)) |
||||||
|
{ |
||||||
|
return new ICorPublishProcess(objectToWrap); |
||||||
|
} else |
||||||
|
{ |
||||||
|
return null; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public int ProcessId |
||||||
|
{ |
||||||
|
get |
||||||
|
{ |
||||||
|
uint id; |
||||||
|
wrappedObject.GetProcessID(out id); |
||||||
|
return (int)id; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public bool IsManaged |
||||||
|
{ |
||||||
|
get |
||||||
|
{ |
||||||
|
int managed; |
||||||
|
wrappedObject.IsManaged(out managed); |
||||||
|
return managed != 0; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
#pragma warning restore 1591
|
@ -1,120 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<root> |
|
||||||
<!-- |
|
||||||
Microsoft ResX Schema |
|
||||||
|
|
||||||
Version 2.0 |
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format |
|
||||||
that is mostly human readable. The generation and parsing of the |
|
||||||
various data types are done through the TypeConverter classes |
|
||||||
associated with the data types. |
|
||||||
|
|
||||||
Example: |
|
||||||
|
|
||||||
... ado.net/XML headers & schema ... |
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader> |
|
||||||
<resheader name="version">2.0</resheader> |
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value> |
|
||||||
</data> |
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
|
||||||
<comment>This is a comment</comment> |
|
||||||
</data> |
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple |
|
||||||
name/value pairs. |
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a |
|
||||||
type or mimetype. Type corresponds to a .NET class that support |
|
||||||
text/value conversion through the TypeConverter architecture. |
|
||||||
Classes that don't support this are serialized and stored with the |
|
||||||
mimetype set. |
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the |
|
||||||
ResXResourceReader how to depersist the object. This is currently not |
|
||||||
extensible. For a given mimetype the value must be set accordingly: |
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format |
|
||||||
that the ResXResourceWriter will generate, however the reader can |
|
||||||
read any of the formats listed below. |
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64 |
|
||||||
value : The object must be serialized with |
|
||||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
|
||||||
: and then encoded with base64 encoding. |
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64 |
|
||||||
value : The object must be serialized with |
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
|
||||||
: and then encoded with base64 encoding. |
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64 |
|
||||||
value : The object must be serialized into a byte array |
|
||||||
: using a System.ComponentModel.TypeConverter |
|
||||||
: and then encoded with base64 encoding. |
|
||||||
--> |
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
|
||||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
|
||||||
<xsd:element name="root" msdata:IsDataSet="true"> |
|
||||||
<xsd:complexType> |
|
||||||
<xsd:choice maxOccurs="unbounded"> |
|
||||||
<xsd:element name="metadata"> |
|
||||||
<xsd:complexType> |
|
||||||
<xsd:sequence> |
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" /> |
|
||||||
</xsd:sequence> |
|
||||||
<xsd:attribute name="name" use="required" type="xsd:string" /> |
|
||||||
<xsd:attribute name="type" type="xsd:string" /> |
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" /> |
|
||||||
<xsd:attribute ref="xml:space" /> |
|
||||||
</xsd:complexType> |
|
||||||
</xsd:element> |
|
||||||
<xsd:element name="assembly"> |
|
||||||
<xsd:complexType> |
|
||||||
<xsd:attribute name="alias" type="xsd:string" /> |
|
||||||
<xsd:attribute name="name" type="xsd:string" /> |
|
||||||
</xsd:complexType> |
|
||||||
</xsd:element> |
|
||||||
<xsd:element name="data"> |
|
||||||
<xsd:complexType> |
|
||||||
<xsd:sequence> |
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
|
||||||
</xsd:sequence> |
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
|
||||||
<xsd:attribute ref="xml:space" /> |
|
||||||
</xsd:complexType> |
|
||||||
</xsd:element> |
|
||||||
<xsd:element name="resheader"> |
|
||||||
<xsd:complexType> |
|
||||||
<xsd:sequence> |
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
|
||||||
</xsd:sequence> |
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" /> |
|
||||||
</xsd:complexType> |
|
||||||
</xsd:element> |
|
||||||
</xsd:choice> |
|
||||||
</xsd:complexType> |
|
||||||
</xsd:element> |
|
||||||
</xsd:schema> |
|
||||||
<resheader name="resmimetype"> |
|
||||||
<value>text/microsoft-resx</value> |
|
||||||
</resheader> |
|
||||||
<resheader name="version"> |
|
||||||
<value>2.0</value> |
|
||||||
</resheader> |
|
||||||
<resheader name="reader"> |
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
||||||
</resheader> |
|
||||||
<resheader name="writer"> |
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
|
||||||
</resheader> |
|
||||||
</root> |
|
Binary file not shown.
Loading…
Reference in new issue