Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5135 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61shortcuts
14 changed files with 447 additions and 386 deletions
@ -0,0 +1,142 @@ |
|||||||
|
// <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
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPublish |
||||||
|
{ |
||||||
|
[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); |
||||||
|
} |
||||||
|
|
||||||
|
[ComImport, CoClass(typeof(CorpubPublishClass)), Guid("9613A0E7-5A68-11D3-8F84-00A0C9B4D50C")] |
||||||
|
public interface CorpubPublish : ICorPublish |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
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); |
||||||
|
} |
||||||
|
|
||||||
|
[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); |
||||||
|
} |
||||||
|
|
||||||
|
[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); |
||||||
|
} |
||||||
|
|
||||||
|
[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); |
||||||
|
} |
||||||
|
|
||||||
|
[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); |
||||||
|
} |
||||||
|
|
||||||
|
[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); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
// <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>
|
||||||
|
|
||||||
|
using System; |
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPublish |
||||||
|
{ |
||||||
|
public static partial class CorPublishExtensionMethods |
||||||
|
{ |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,281 @@ |
|||||||
|
// <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>
|
||||||
|
|
||||||
|
using System; |
||||||
|
using System.Runtime.CompilerServices; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using System.Text; |
||||||
|
|
||||||
|
namespace Debugger.Interop.CorPublish |
||||||
|
{ |
||||||
|
public static partial class CorPublishExtensionMethods |
||||||
|
{ |
||||||
|
static void ProcessOutParameter(object parameter) |
||||||
|
{ |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishEnum Clone(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
ICorPublishEnum ppEnum; |
||||||
|
instance.Clone(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishAppDomainEnum EnumAppDomains(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
ICorPublishAppDomainEnum ppEnum; |
||||||
|
instance.EnumAppDomains(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishProcessEnum EnumProcesses(this CorpubPublishClass instance, COR_PUB_ENUMPROCESS Type) |
||||||
|
{ |
||||||
|
ICorPublishProcessEnum ppIEnum; |
||||||
|
instance.EnumProcesses(Type, out ppIEnum); |
||||||
|
ProcessOutParameter(ppIEnum); |
||||||
|
return ppIEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetCount(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
uint pcelt; |
||||||
|
instance.GetCount(out pcelt); |
||||||
|
return pcelt; |
||||||
|
} |
||||||
|
|
||||||
|
public static void GetDisplayName(this CorpubPublishClass instance, uint cchName, out uint pcchName, StringBuilder szName) |
||||||
|
{ |
||||||
|
instance.GetDisplayName(cchName, out pcchName, szName); |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetID(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
uint puId; |
||||||
|
instance.GetID(out puId); |
||||||
|
return puId; |
||||||
|
} |
||||||
|
|
||||||
|
public static void GetName(this CorpubPublishClass instance, uint cchName, out uint pcchName, StringBuilder szName) |
||||||
|
{ |
||||||
|
instance.GetName(cchName, out pcchName, szName); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishProcess GetProcess(this CorpubPublishClass instance, uint pid) |
||||||
|
{ |
||||||
|
ICorPublishProcess ppProcess; |
||||||
|
instance.GetProcess(pid, out ppProcess); |
||||||
|
ProcessOutParameter(ppProcess); |
||||||
|
return ppProcess; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetProcessID(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
uint pid; |
||||||
|
instance.GetProcessID(out pid); |
||||||
|
return pid; |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishEnum ICorPublishAppDomainEnum_Clone(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
ICorPublishEnum ppEnum; |
||||||
|
instance.ICorPublishAppDomainEnum_Clone(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint ICorPublishAppDomainEnum_GetCount(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
uint pcelt; |
||||||
|
instance.ICorPublishAppDomainEnum_GetCount(out pcelt); |
||||||
|
return pcelt; |
||||||
|
} |
||||||
|
|
||||||
|
public static void ICorPublishAppDomainEnum_Reset(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
instance.ICorPublishAppDomainEnum_Reset(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void ICorPublishAppDomainEnum_Skip(this CorpubPublishClass instance, uint celt) |
||||||
|
{ |
||||||
|
instance.ICorPublishAppDomainEnum_Skip(celt); |
||||||
|
} |
||||||
|
|
||||||
|
public static int IsManaged(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
int pbManaged; |
||||||
|
instance.IsManaged(out pbManaged); |
||||||
|
return pbManaged; |
||||||
|
} |
||||||
|
|
||||||
|
public static void Next(this CorpubPublishClass instance, uint celt, out ICorPublishAppDomain objects, out uint pceltFetched) |
||||||
|
{ |
||||||
|
instance.Next(celt, out objects, out pceltFetched); |
||||||
|
ProcessOutParameter(objects); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Next(this CorpubPublishClass instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) |
||||||
|
{ |
||||||
|
instance.Next(celt, out objects, out pceltFetched); |
||||||
|
ProcessOutParameter(objects); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Reset(this CorpubPublishClass instance) |
||||||
|
{ |
||||||
|
instance.Reset(); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Skip(this CorpubPublishClass instance, uint celt) |
||||||
|
{ |
||||||
|
instance.Skip(celt); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishProcessEnum EnumProcesses(this ICorPublish instance, COR_PUB_ENUMPROCESS Type) |
||||||
|
{ |
||||||
|
ICorPublishProcessEnum ppIEnum; |
||||||
|
instance.EnumProcesses(Type, out ppIEnum); |
||||||
|
ProcessOutParameter(ppIEnum); |
||||||
|
return ppIEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishProcess GetProcess(this ICorPublish instance, uint pid) |
||||||
|
{ |
||||||
|
ICorPublishProcess ppProcess; |
||||||
|
instance.GetProcess(pid, out ppProcess); |
||||||
|
ProcessOutParameter(ppProcess); |
||||||
|
return ppProcess; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetID(this ICorPublishAppDomain instance) |
||||||
|
{ |
||||||
|
uint puId; |
||||||
|
instance.GetID(out puId); |
||||||
|
return puId; |
||||||
|
} |
||||||
|
|
||||||
|
public static void GetName(this ICorPublishAppDomain instance, uint cchName, out uint pcchName, StringBuilder szName) |
||||||
|
{ |
||||||
|
instance.GetName(cchName, out pcchName, szName); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Skip(this ICorPublishAppDomainEnum instance, uint celt) |
||||||
|
{ |
||||||
|
instance.Skip(celt); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Reset(this ICorPublishAppDomainEnum instance) |
||||||
|
{ |
||||||
|
instance.Reset(); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishEnum Clone(this ICorPublishAppDomainEnum instance) |
||||||
|
{ |
||||||
|
ICorPublishEnum ppEnum; |
||||||
|
instance.Clone(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetCount(this ICorPublishAppDomainEnum instance) |
||||||
|
{ |
||||||
|
uint pcelt; |
||||||
|
instance.GetCount(out pcelt); |
||||||
|
return pcelt; |
||||||
|
} |
||||||
|
|
||||||
|
public static void Next(this ICorPublishAppDomainEnum instance, uint celt, out ICorPublishAppDomain objects, out uint pceltFetched) |
||||||
|
{ |
||||||
|
instance.Next(celt, out objects, out pceltFetched); |
||||||
|
ProcessOutParameter(objects); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Skip(this ICorPublishEnum instance, uint celt) |
||||||
|
{ |
||||||
|
instance.Skip(celt); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Reset(this ICorPublishEnum instance) |
||||||
|
{ |
||||||
|
instance.Reset(); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishEnum Clone(this ICorPublishEnum instance) |
||||||
|
{ |
||||||
|
ICorPublishEnum ppEnum; |
||||||
|
instance.Clone(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetCount(this ICorPublishEnum instance) |
||||||
|
{ |
||||||
|
uint pcelt; |
||||||
|
instance.GetCount(out pcelt); |
||||||
|
return pcelt; |
||||||
|
} |
||||||
|
|
||||||
|
public static int IsManaged(this ICorPublishProcess instance) |
||||||
|
{ |
||||||
|
int pbManaged; |
||||||
|
instance.IsManaged(out pbManaged); |
||||||
|
return pbManaged; |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishAppDomainEnum EnumAppDomains(this ICorPublishProcess instance) |
||||||
|
{ |
||||||
|
ICorPublishAppDomainEnum ppEnum; |
||||||
|
instance.EnumAppDomains(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetProcessID(this ICorPublishProcess instance) |
||||||
|
{ |
||||||
|
uint pid; |
||||||
|
instance.GetProcessID(out pid); |
||||||
|
return pid; |
||||||
|
} |
||||||
|
|
||||||
|
public static void GetDisplayName(this ICorPublishProcess instance, uint cchName, out uint pcchName, StringBuilder szName) |
||||||
|
{ |
||||||
|
instance.GetDisplayName(cchName, out pcchName, szName); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Skip(this ICorPublishProcessEnum instance, uint celt) |
||||||
|
{ |
||||||
|
instance.Skip(celt); |
||||||
|
} |
||||||
|
|
||||||
|
public static void Reset(this ICorPublishProcessEnum instance) |
||||||
|
{ |
||||||
|
instance.Reset(); |
||||||
|
} |
||||||
|
|
||||||
|
public static ICorPublishEnum Clone(this ICorPublishProcessEnum instance) |
||||||
|
{ |
||||||
|
ICorPublishEnum ppEnum; |
||||||
|
instance.Clone(out ppEnum); |
||||||
|
ProcessOutParameter(ppEnum); |
||||||
|
return ppEnum; |
||||||
|
} |
||||||
|
|
||||||
|
public static uint GetCount(this ICorPublishProcessEnum instance) |
||||||
|
{ |
||||||
|
uint pcelt; |
||||||
|
instance.GetCount(out pcelt); |
||||||
|
return pcelt; |
||||||
|
} |
||||||
|
|
||||||
|
public static void Next(this ICorPublishProcessEnum instance, uint celt, out ICorPublishProcess objects, out uint pceltFetched) |
||||||
|
{ |
||||||
|
instance.Next(celt, out objects, out pceltFetched); |
||||||
|
ProcessOutParameter(objects); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
@ -1,60 +0,0 @@ |
|||||||
// <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
|
|
@ -1,23 +0,0 @@ |
|||||||
// <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
|
|
||||||
|
|
@ -1,31 +0,0 @@ |
|||||||
// <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
|
|
@ -1,27 +0,0 @@ |
|||||||
// <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
|
|
@ -1,35 +0,0 @@ |
|||||||
// <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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,30 +0,0 @@ |
|||||||
// <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
|
|
@ -1,31 +0,0 @@ |
|||||||
// <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
|
|
@ -1,32 +0,0 @@ |
|||||||
// <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
|
|
@ -1,34 +0,0 @@ |
|||||||
// <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
|
|
@ -1,68 +0,0 @@ |
|||||||
// <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
|
|
Loading…
Reference in new issue