This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,11 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Allows an unmanaged method to call a managed method.</summary>
// Token: 0x020002EC RID: 748
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = false)]
public sealed class AllowReversePInvokeCallsAttribute : Attribute
{
}
}
@@ -0,0 +1,98 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Encapsulates an array and an offset within the specified array.</summary>
// Token: 0x020002ED RID: 749
[ComVisible(true)]
[Serializable]
public struct ArrayWithOffset
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> structure.</summary>
/// <param name="array">A managed array. </param>
/// <param name="offset">The offset in bytes, of the element to be passed through platform invoke. </param>
// Token: 0x060021B4 RID: 8628 RVA: 0x00078F04 File Offset: 0x00077104
public ArrayWithOffset(object array, int offset)
{
this.array = array;
this.offset = offset;
}
/// <summary>Indicates whether the specified object matches the current <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object.</summary>
/// <returns>true if the object matches this <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" />; otherwise, false.</returns>
/// <param name="obj">Object to compare with this instance. </param>
// Token: 0x060021B5 RID: 8629 RVA: 0x00078F14 File Offset: 0x00077114
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
if (!(obj is ArrayWithOffset))
{
return false;
}
ArrayWithOffset arrayWithOffset = (ArrayWithOffset)obj;
return arrayWithOffset.array == this.array && arrayWithOffset.offset == this.offset;
}
/// <summary>Indicates whether the specified <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object matches the current instance.</summary>
/// <returns>true if the specified <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object matches the current instance; otherwise, false.</returns>
/// <param name="obj">An <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object to compare with this instance.</param>
// Token: 0x060021B6 RID: 8630 RVA: 0x00078F64 File Offset: 0x00077164
public bool Equals(ArrayWithOffset obj)
{
return obj.array == this.array && obj.offset == this.offset;
}
/// <summary>Returns a hash code for this value type.</summary>
/// <returns>The hash code for this instance.</returns>
// Token: 0x060021B7 RID: 8631 RVA: 0x00078F98 File Offset: 0x00077198
public override int GetHashCode()
{
return this.offset;
}
/// <summary>Returns the managed array referenced by this <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" />.</summary>
/// <returns>The managed array this instance references.</returns>
// Token: 0x060021B8 RID: 8632 RVA: 0x00078FA0 File Offset: 0x000771A0
public object GetArray()
{
return this.array;
}
/// <summary>Returns the offset provided when this <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> was constructed.</summary>
/// <returns>The offset for this instance.</returns>
// Token: 0x060021B9 RID: 8633 RVA: 0x00078FA8 File Offset: 0x000771A8
public int GetOffset()
{
return this.offset;
}
/// <summary>Determines whether two specified <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> objects have the same value.</summary>
/// <returns>true if the value of <paramref name="a" /> is the same as the value of <paramref name="b" />; otherwise, false.</returns>
/// <param name="a">An <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object to compare with the <paramref name="b" /> parameter. </param>
/// <param name="b">An <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object to compare with the <paramref name="a" /> parameter.</param>
// Token: 0x060021BA RID: 8634 RVA: 0x00078FB0 File Offset: 0x000771B0
public static bool operator ==(ArrayWithOffset a, ArrayWithOffset b)
{
return a.Equals(b);
}
/// <summary>Determines whether two specified <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> objects no not have the same value.</summary>
/// <returns>true if the value of <paramref name="a" /> is not the same as the value of <paramref name="b" />; otherwise, false.</returns>
/// <param name="a">An <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object to compare with the <paramref name="b" /> parameter. </param>
/// <param name="b">An <see cref="T:System.Runtime.InteropServices.ArrayWithOffset" /> object to compare with the <paramref name="a" /> parameter.</param>
// Token: 0x060021BB RID: 8635 RVA: 0x00078FBC File Offset: 0x000771BC
public static bool operator !=(ArrayWithOffset a, ArrayWithOffset b)
{
return !a.Equals(b);
}
// Token: 0x04000CB9 RID: 3257
private object array;
// Token: 0x04000CBA RID: 3258
private int offset;
}
}
@@ -0,0 +1,18 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Defines a set of flags used when registering assemblies.</summary>
// Token: 0x020002EE RID: 750
[ComVisible(true)]
[Flags]
public enum AssemblyRegistrationFlags
{
/// <summary>Indicates no special settings.</summary>
// Token: 0x04000CBC RID: 3260
None = 0,
/// <summary>Indicates that the code base key for the assembly should be set in the registry.</summary>
// Token: 0x04000CBD RID: 3261
SetCodeBase = 1
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies whether the type should be marshaled using the Automation marshaler or a custom proxy and stub.</summary>
// Token: 0x020002EF RID: 751
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Interface, Inherited = false)]
public sealed class AutomationProxyAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.AutomationProxyAttribute" /> class.</summary>
/// <param name="val">true if the class should be marshaled using the Automation Marshaler; false if a proxy stub marshaler should be used. </param>
// Token: 0x060021BC RID: 8636 RVA: 0x00078FCC File Offset: 0x000771CC
public AutomationProxyAttribute(bool val)
{
this.val = val;
}
/// <summary>Gets a value indicating the type of marshaler to use.</summary>
/// <returns>true if the class should be marshaled using the Automation Marshaler; false if a proxy stub marshaler should be used.</returns>
// Token: 0x17000639 RID: 1593
// (get) Token: 0x060021BD RID: 8637 RVA: 0x00078FDC File Offset: 0x000771DC
public bool Value
{
get
{
return this.val;
}
}
// Token: 0x04000CBE RID: 3262
private bool val;
}
}
@@ -0,0 +1,26 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.BINDPTR" /> instead.</summary>
// Token: 0x020002F0 RID: 752
[Obsolete]
[StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
public struct BINDPTR
{
/// <summary>Represents a pointer to a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure.</summary>
// Token: 0x04000CBF RID: 3263
[FieldOffset(0)]
public IntPtr lpfuncdesc;
/// <summary>Represents a pointer to a <see cref="F:System.Runtime.InteropServices.BINDPTR.lptcomp" /> interface.</summary>
// Token: 0x04000CC0 RID: 3264
[FieldOffset(0)]
public IntPtr lptcomp;
/// <summary>Represents a pointer to a <see cref="T:System.Runtime.InteropServices.VARDESC" /> structure.</summary>
// Token: 0x04000CC1 RID: 3265
[FieldOffset(0)]
public IntPtr lpvardesc;
}
}
@@ -0,0 +1,26 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.BIND_OPTS" /> instead.</summary>
// Token: 0x020002F1 RID: 753
[Obsolete]
public struct BIND_OPTS
{
/// <summary>Specifies the size of the BIND_OPTS structure in bytes.</summary>
// Token: 0x04000CC2 RID: 3266
public int cbStruct;
/// <summary>Controls aspects of moniker binding operations.</summary>
// Token: 0x04000CC3 RID: 3267
public int grfFlags;
/// <summary>Flags that should be used when opening the file that contains the object identified by the moniker.</summary>
// Token: 0x04000CC4 RID: 3268
public int grfMode;
/// <summary>Indicates the amount of time (clock time in milliseconds, as returned by the GetTickCount function) the caller specified to complete the binding operation.</summary>
// Token: 0x04000CC5 RID: 3269
public int dwTickCountDeadline;
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Marshals data of type VT_BSTR from managed to unmanaged code. This class cannot be inherited.</summary>
// Token: 0x020002F2 RID: 754
[ComVisible(true)]
[Serializable]
public sealed class BStrWrapper
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.BStrWrapper" /> class with the specified <see cref="T:System.String" /> object.</summary>
/// <param name="value">The <see cref="T:System.String" /> object to wrap and marshal as VT_BSTR.</param>
// Token: 0x060021BE RID: 8638 RVA: 0x00078FE4 File Offset: 0x000771E4
public BStrWrapper(string value)
{
this._value = value;
}
/// <summary>Gets the wrapped <see cref="T:System.String" /> object to marshal as type VT_BSTR.</summary>
/// <returns>The <see cref="T:System.String" /> object wrapped by <see cref="T:System.Runtime.InteropServices.BStrWrapper" />.</returns>
// Token: 0x1700063A RID: 1594
// (get) Token: 0x060021BF RID: 8639 RVA: 0x00078FF4 File Offset: 0x000771F4
public string WrappedObject
{
get
{
return this._value;
}
}
// Token: 0x04000CC6 RID: 3270
private string _value;
}
}
@@ -0,0 +1,38 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Controls whether Unicode characters are converted to the closest matching ANSI characters.</summary>
// Token: 0x020002F3 RID: 755
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface, Inherited = false)]
public sealed class BestFitMappingAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.BestFitMappingAttribute" /> class set to the value of the <see cref="P:System.Runtime.InteropServices.BestFitMappingAttribute.BestFitMapping" /> property.</summary>
/// <param name="BestFitMapping">true to indicate that best-fit mapping is enabled; otherwise, false. The default is true. </param>
// Token: 0x060021C0 RID: 8640 RVA: 0x00078FFC File Offset: 0x000771FC
public BestFitMappingAttribute(bool BestFitMapping)
{
this.bfm = BestFitMapping;
}
/// <summary>Gets the best-fit mapping behavior when converting Unicode characters to ANSI characters.</summary>
/// <returns>true if best-fit mapping is enabled; otherwise, false. The default is true.</returns>
// Token: 0x1700063B RID: 1595
// (get) Token: 0x060021C1 RID: 8641 RVA: 0x0007900C File Offset: 0x0007720C
public bool BestFitMapping
{
get
{
return this.bfm;
}
}
// Token: 0x04000CC7 RID: 3271
private bool bfm;
/// <summary>Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI '?' character.</summary>
// Token: 0x04000CC8 RID: 3272
public bool ThrowOnUnmappableChar;
}
}
@@ -0,0 +1,42 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.CALLCONV" /> instead.</summary>
// Token: 0x020002F4 RID: 756
[Obsolete]
[Serializable]
public enum CALLCONV
{
/// <summary>Indicates that the Cdecl calling convention is used for a method.</summary>
// Token: 0x04000CCA RID: 3274
CC_CDECL = 1,
/// <summary>Indicates that the Pascal calling convention is used for a method.</summary>
// Token: 0x04000CCB RID: 3275
CC_PASCAL,
/// <summary>Indicates that the Mscpascal calling convention is used for a method.</summary>
// Token: 0x04000CCC RID: 3276
CC_MSCPASCAL = 2,
/// <summary>Indicates that the Macpascal calling convention is used for a method.</summary>
// Token: 0x04000CCD RID: 3277
CC_MACPASCAL,
/// <summary>Indicates that the Stdcall calling convention is used for a method.</summary>
// Token: 0x04000CCE RID: 3278
CC_STDCALL,
/// <summary>This value is reserved for future use.</summary>
// Token: 0x04000CCF RID: 3279
CC_RESERVED,
/// <summary>Indicates that the Syscall calling convention is used for a method.</summary>
// Token: 0x04000CD0 RID: 3280
CC_SYSCALL,
/// <summary>Indicates that the Mpwcdecl calling convention is used for a method.</summary>
// Token: 0x04000CD1 RID: 3281
CC_MPWCDECL,
/// <summary>Indicates that the Mpwpascal calling convention is used for a method.</summary>
// Token: 0x04000CD2 RID: 3282
CC_MPWPASCAL,
/// <summary>Indicates the end of the <see cref="T:System.Runtime.InteropServices.CALLCONV" /> enumeration.</summary>
// Token: 0x04000CD3 RID: 3283
CC_MAX
}
}
@@ -0,0 +1,74 @@
using System;
using System.Runtime.Serialization;
namespace System.Runtime.InteropServices
{
/// <summary>The exception that is thrown when an unrecognized HRESULT is returned from a COM method call.</summary>
// Token: 0x020002F5 RID: 757
[ComVisible(true)]
[Serializable]
public class COMException : ExternalException
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.COMException" /> class with default values.</summary>
// Token: 0x060021C2 RID: 8642 RVA: 0x00079014 File Offset: 0x00077214
public COMException()
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.COMException" /> class with a specified message.</summary>
/// <param name="message">The message that indicates the reason for the exception. </param>
// Token: 0x060021C3 RID: 8643 RVA: 0x0007901C File Offset: 0x0007721C
public COMException(string message)
: base(message)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.COMException" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
/// <param name="message">The error message that explains the reason for the exception. </param>
/// <param name="inner">The exception that is the cause of the current exception. If the <paramref name="inner" /> parameter is not null, the current exception is raised in a catch block that handles the inner exception. </param>
// Token: 0x060021C4 RID: 8644 RVA: 0x00079028 File Offset: 0x00077228
public COMException(string message, Exception inner)
: base(message, inner)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.COMException" /> class with a specified message and error code.</summary>
/// <param name="message">The message that indicates the reason the exception occurred. </param>
/// <param name="errorCode">The error code (HRESULT) value associated with this exception. </param>
// Token: 0x060021C5 RID: 8645 RVA: 0x00079034 File Offset: 0x00077234
public COMException(string message, int errorCode)
: base(message, errorCode)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.COMException" /> class from serialization data.</summary>
/// <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object that holds the serialized object data. </param>
/// <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> object that supplies the contextual information about the source or destination. </param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="info" /> is null. </exception>
// Token: 0x060021C6 RID: 8646 RVA: 0x00079040 File Offset: 0x00077240
protected COMException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}
/// <summary>Converts the contents of the exception to a string.</summary>
/// <returns>A string containing the <see cref="P:System.Exception.HResult" />, <see cref="P:System.Exception.Message" />, <see cref="P:System.Exception.InnerException" />, and <see cref="P:System.Exception.StackTrace" /> properties of the exception.</returns>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*" />
/// </PermissionSet>
// Token: 0x060021C7 RID: 8647 RVA: 0x0007904C File Offset: 0x0007724C
public override string ToString()
{
return string.Format("{0} (0x{1:x}): {2} {3}{4}{5}", new object[]
{
this.GetType(),
base.HResult,
this.Message,
(this.InnerException != null) ? this.InnerException.ToString() : string.Empty,
Environment.NewLine,
(this.StackTrace == null) ? string.Empty : this.StackTrace
});
}
}
}
@@ -0,0 +1,20 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.CONNECTDATA" /> instead.</summary>
// Token: 0x020002F6 RID: 758
[Obsolete]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CONNECTDATA
{
/// <summary>Represents a pointer to the IUnknown interface on a connected advisory sink. The caller must call IUnknown::Release on this pointer when the CONNECTDATA structure is no longer needed.</summary>
// Token: 0x04000CD4 RID: 3284
[MarshalAs(UnmanagedType.Interface)]
public object pUnk;
/// <summary>Represents a connection token that is returned from a call to <see cref="M:System.Runtime.InteropServices.UCOMIConnectionPoint.Advise(System.Object,System.Int32@)" />.</summary>
// Token: 0x04000CD5 RID: 3285
public int dwCookie;
}
}
@@ -0,0 +1,27 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the calling convention required to call methods implemented in unmanaged code.</summary>
// Token: 0x020002F7 RID: 759
[ComVisible(true)]
[Serializable]
public enum CallingConvention
{
/// <summary>This member is not actually a calling convention, but instead uses the default platform calling convention. For example, on Windows the default is <see cref="F:System.Runtime.InteropServices.CallingConvention.StdCall" /> and on Windows CE.NET it is <see cref="F:System.Runtime.InteropServices.CallingConvention.Cdecl" />.</summary>
// Token: 0x04000CD7 RID: 3287
Winapi = 1,
/// <summary>The caller cleans the stack. This enables calling functions with varargs, which makes it appropriate to use for methods that accept a variable number of parameters, such as Printf.</summary>
// Token: 0x04000CD8 RID: 3288
Cdecl,
/// <summary>The callee cleans the stack. This is the default convention for calling unmanaged functions with platform invoke.</summary>
// Token: 0x04000CD9 RID: 3289
StdCall,
/// <summary>The first parameter is the this pointer and is stored in register ECX. Other parameters are pushed on the stack. This calling convention is used to call methods on classes exported from an unmanaged DLL.</summary>
// Token: 0x04000CDA RID: 3290
ThisCall,
/// <summary>This calling convention is not supported.</summary>
// Token: 0x04000CDB RID: 3291
FastCall
}
}
@@ -0,0 +1,24 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Dictates which character set marshaled strings should use.</summary>
// Token: 0x020002F8 RID: 760
[ComVisible(true)]
[Serializable]
public enum CharSet
{
/// <summary>This value is obsolete and has the same behavior as <see cref="F:System.Runtime.InteropServices.CharSet.Ansi" />.</summary>
// Token: 0x04000CDD RID: 3293
None = 1,
/// <summary>Marshal strings as multiple-byte character strings.</summary>
// Token: 0x04000CDE RID: 3294
Ansi,
/// <summary>Marshal strings as Unicode 2-byte characters.</summary>
// Token: 0x04000CDF RID: 3295
Unicode,
/// <summary>Automatically marshal strings appropriately for the target operating system. The default is <see cref="F:System.Runtime.InteropServices.CharSet.Unicode" /> on Windows NT, Windows 2000, Windows XP, and the Windows Server 2003 family; the default is <see cref="F:System.Runtime.InteropServices.CharSet.Ansi" /> on Windows 98 and Windows Me. Although the common language runtime default is <see cref="F:System.Runtime.InteropServices.CharSet.Auto" />, languages may override this default. For example, by default C# marks all methods and types as <see cref="F:System.Runtime.InteropServices.CharSet.Ansi" />.</summary>
// Token: 0x04000CE0 RID: 3296
Auto
}
}
@@ -0,0 +1,42 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates the type of class interface to be generated for a class exposed to COM, if an interface is generated at all.</summary>
// Token: 0x020002F9 RID: 761
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class, Inherited = false)]
[ComVisible(true)]
public sealed class ClassInterfaceAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ClassInterfaceAttribute" /> class with the specified <see cref="T:System.Runtime.InteropServices.ClassInterfaceType" /> enumeration value.</summary>
/// <param name="classInterfaceType">Describes the type of interface that is generated for a class. </param>
// Token: 0x060021C8 RID: 8648 RVA: 0x000790D4 File Offset: 0x000772D4
public ClassInterfaceAttribute(short classInterfaceType)
{
this.ciType = (ClassInterfaceType)classInterfaceType;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ClassInterfaceAttribute" /> class with the specified <see cref="T:System.Runtime.InteropServices.ClassInterfaceType" /> enumeration member.</summary>
/// <param name="classInterfaceType">One of the <see cref="T:System.Runtime.InteropServices.ClassInterfaceType" /> values that describes the type of interface that is generated for a class. </param>
// Token: 0x060021C9 RID: 8649 RVA: 0x000790E4 File Offset: 0x000772E4
public ClassInterfaceAttribute(ClassInterfaceType classInterfaceType)
{
this.ciType = classInterfaceType;
}
/// <summary>Gets the <see cref="T:System.Runtime.InteropServices.ClassInterfaceType" /> value that describes which type of interface should be generated for the class.</summary>
/// <returns>The <see cref="T:System.Runtime.InteropServices.ClassInterfaceType" /> value that describes which type of interface should be generated for the class.</returns>
// Token: 0x1700063C RID: 1596
// (get) Token: 0x060021CA RID: 8650 RVA: 0x000790F4 File Offset: 0x000772F4
public ClassInterfaceType Value
{
get
{
return this.ciType;
}
}
// Token: 0x04000CE1 RID: 3297
private ClassInterfaceType ciType;
}
}
@@ -0,0 +1,21 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Identifies the type of class interface that is generated for a class.</summary>
// Token: 0x020002FA RID: 762
[ComVisible(true)]
[Serializable]
public enum ClassInterfaceType
{
/// <summary>Indicates that no class interface is generated for the class. If no interfaces are implemented explicitly, the class can only provide late-bound access through the IDispatch interface. This is the recommended setting for <see cref="T:System.Runtime.InteropServices.ClassInterfaceAttribute" />. Using ClassInterfaceType.None is the only way to expose functionality through interfaces implemented explicitly by the class.</summary>
// Token: 0x04000CE3 RID: 3299
None,
/// <summary>Indicates that the class only supports late binding for COM clients. A dispinterface for the class is automatically exposed to COM clients on request. The type library produced by Type Library Exporter (Tlbexp.exe) does not contain type information for the dispinterface in order to prevent clients from caching the DISPIDs of the interface. The dispinterface does not exhibit the versioning problems described in <see cref="T:System.Runtime.InteropServices.ClassInterfaceAttribute" /> because clients can only late-bind to the interface.</summary>
// Token: 0x04000CE4 RID: 3300
AutoDispatch,
/// <summary>Indicates that a dual class interface is automatically generated for the class and exposed to COM. Type information is produced for the class interface and published in the type library. Using AutoDual is strongly discouraged because of the versioning limitations described in <see cref="T:System.Runtime.InteropServices.ClassInterfaceAttribute" />.</summary>
// Token: 0x04000CE5 RID: 3301
AutoDual
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the class identifier of a coclass imported from a type library.</summary>
// Token: 0x0200004C RID: 76
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Interface, Inherited = false)]
public sealed class CoClassAttribute : Attribute
{
/// <summary>Initializes new instance of the <see cref="T:System.Runtime.InteropServices.CoClassAttribute" /> with the class identifier of the original coclass.</summary>
/// <param name="coClass">A <see cref="T:System.Type" /> that contains the class identifier of the original coclass. </param>
// Token: 0x06000671 RID: 1649 RVA: 0x00014BA8 File Offset: 0x00012DA8
public CoClassAttribute(Type coClass)
{
this.klass = coClass;
}
/// <summary>Gets the class identifier of the original coclass.</summary>
/// <returns>A <see cref="T:System.Type" /> containing the class identifier of the original coclass.</returns>
// Token: 0x170000B8 RID: 184
// (get) Token: 0x06000672 RID: 1650 RVA: 0x00014BB8 File Offset: 0x00012DB8
public Type CoClass
{
get
{
return this.klass;
}
}
// Token: 0x040000A0 RID: 160
private Type klass;
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates the COM alias for a parameter or field type.</summary>
// Token: 0x020002FB RID: 763
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.ReturnValue, Inherited = false)]
[ComVisible(true)]
public sealed class ComAliasNameAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComAliasNameAttribute" /> class with the alias for the attributed field or parameter.</summary>
/// <param name="alias">The alias for the field or parameter as found in the type library when it was imported. </param>
// Token: 0x060021CB RID: 8651 RVA: 0x000790FC File Offset: 0x000772FC
public ComAliasNameAttribute(string alias)
{
this.val = alias;
}
/// <summary>Gets the alias for the field or parameter as found in the type library when it was imported.</summary>
/// <returns>The alias for the field or parameter as found in the type library when it was imported.</returns>
// Token: 0x1700063D RID: 1597
// (get) Token: 0x060021CC RID: 8652 RVA: 0x0007910C File Offset: 0x0007730C
public string Value
{
get
{
return this.val;
}
}
// Token: 0x04000CE6 RID: 3302
private string val;
}
}
@@ -0,0 +1,85 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates to a COM client that all classes in the current version of an assembly are compatible with classes in an earlier version of the assembly.</summary>
// Token: 0x020002FC RID: 764
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = false, Inherited = false)]
public sealed class ComCompatibleVersionAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComCompatibleVersionAttribute" /> class with the major version, minor version, build, and revision numbers of the assembly.</summary>
/// <param name="major">The major version number of the assembly. </param>
/// <param name="minor">The minor version number of the assembly. </param>
/// <param name="build">The build number of the assembly. </param>
/// <param name="revision">The revision number of the assembly. </param>
// Token: 0x060021CD RID: 8653 RVA: 0x00079114 File Offset: 0x00077314
public ComCompatibleVersionAttribute(int major, int minor, int build, int revision)
{
this.major = major;
this.minor = minor;
this.build = build;
this.revision = revision;
}
/// <summary>Gets the major version number of the assembly.</summary>
/// <returns>The major version number of the assembly.</returns>
// Token: 0x1700063E RID: 1598
// (get) Token: 0x060021CE RID: 8654 RVA: 0x0007913C File Offset: 0x0007733C
public int MajorVersion
{
get
{
return this.major;
}
}
/// <summary>Gets the minor version number of the assembly.</summary>
/// <returns>The minor version number of the assembly.</returns>
// Token: 0x1700063F RID: 1599
// (get) Token: 0x060021CF RID: 8655 RVA: 0x00079144 File Offset: 0x00077344
public int MinorVersion
{
get
{
return this.minor;
}
}
/// <summary>Gets the build number of the assembly.</summary>
/// <returns>The build number of the assembly.</returns>
// Token: 0x17000640 RID: 1600
// (get) Token: 0x060021D0 RID: 8656 RVA: 0x0007914C File Offset: 0x0007734C
public int BuildNumber
{
get
{
return this.build;
}
}
/// <summary>Gets the revision number of the assembly.</summary>
/// <returns>The revision number of the assembly.</returns>
// Token: 0x17000641 RID: 1601
// (get) Token: 0x060021D1 RID: 8657 RVA: 0x00079154 File Offset: 0x00077354
public int RevisionNumber
{
get
{
return this.revision;
}
}
// Token: 0x04000CE7 RID: 3303
private int major;
// Token: 0x04000CE8 RID: 3304
private int minor;
// Token: 0x04000CE9 RID: 3305
private int build;
// Token: 0x04000CEA RID: 3306
private int revision;
}
}
@@ -0,0 +1,12 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates that information was lost about a class or interface when it was imported from a type library to an assembly.</summary>
// Token: 0x020002FD RID: 765
[ComVisible(true)]
[AttributeUsage(AttributeTargets.All, Inherited = false)]
public sealed class ComConversionLossAttribute : Attribute
{
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies a default interface to expose to COM. This class cannot be inherited.</summary>
// Token: 0x020002FE RID: 766
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
[ComVisible(true)]
public sealed class ComDefaultInterfaceAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComDefaultInterfaceAttribute" /> class with the specified <see cref="T:System.Type" /> object as the default interface exposed to COM.</summary>
/// <param name="defaultInterface">A <see cref="T:System.Type" /> value indicating the default interface to expose to COM. </param>
// Token: 0x060021D3 RID: 8659 RVA: 0x00079164 File Offset: 0x00077364
public ComDefaultInterfaceAttribute(Type defaultInterface)
{
this._type = defaultInterface;
}
/// <summary>Gets the <see cref="T:System.Type" /> object that specifies the default interface to expose to COM.</summary>
/// <returns>The <see cref="T:System.Type" /> object that specifies the default interface to expose to COM.</returns>
// Token: 0x17000642 RID: 1602
// (get) Token: 0x060021D4 RID: 8660 RVA: 0x00079174 File Offset: 0x00077374
public Type Value
{
get
{
return this._type;
}
}
// Token: 0x04000CEB RID: 3307
private Type _type;
}
}
@@ -0,0 +1,51 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Identifies the source interface and the class that implements the methods of the event interface that is generated when a coclass is imported from a COM type library.</summary>
// Token: 0x020002FF RID: 767
[AttributeUsage(AttributeTargets.Interface, Inherited = false)]
[ComVisible(true)]
public sealed class ComEventInterfaceAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComEventInterfaceAttribute" /> class with the source interface and event provider class.</summary>
/// <param name="SourceInterface">A <see cref="T:System.Type" /> that contains the original source interface from the type library. COM uses this interface to call back to the managed class. </param>
/// <param name="EventProvider">A <see cref="T:System.Type" /> that contains the class that implements the methods of the event interface. </param>
// Token: 0x060021D5 RID: 8661 RVA: 0x0007917C File Offset: 0x0007737C
public ComEventInterfaceAttribute(Type SourceInterface, Type EventProvider)
{
this.si = SourceInterface;
this.ep = EventProvider;
}
/// <summary>Gets the class that implements the methods of the event interface.</summary>
/// <returns>A <see cref="T:System.Type" /> that contains the class that implements the methods of the event interface.</returns>
// Token: 0x17000643 RID: 1603
// (get) Token: 0x060021D6 RID: 8662 RVA: 0x00079194 File Offset: 0x00077394
public Type EventProvider
{
get
{
return this.ep;
}
}
/// <summary>Gets the original source interface from the type library.</summary>
/// <returns>A <see cref="T:System.Type" /> containing the source interface.</returns>
// Token: 0x17000644 RID: 1604
// (get) Token: 0x060021D7 RID: 8663 RVA: 0x0007919C File Offset: 0x0007739C
public Type SourceInterface
{
get
{
return this.si;
}
}
// Token: 0x04000CEC RID: 3308
private Type si;
// Token: 0x04000CED RID: 3309
private Type ep;
}
}
@@ -0,0 +1,12 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates that the attributed type was previously defined in COM.</summary>
// Token: 0x0200004B RID: 75
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, Inherited = false)]
[ComVisible(true)]
public sealed class ComImportAttribute : Attribute
{
}
}
@@ -0,0 +1,21 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Identifies how to expose an interface to COM.</summary>
// Token: 0x02000300 RID: 768
[ComVisible(true)]
[Serializable]
public enum ComInterfaceType
{
/// <summary>Indicates that the interface is exposed to COM as a dual interface, which enables both early and late binding. <see cref="F:System.Runtime.InteropServices.ComInterfaceType.InterfaceIsDual" /> is the default value.</summary>
// Token: 0x04000CEF RID: 3311
InterfaceIsDual,
/// <summary>Indicates that an interface is exposed to COM as an IUnknown -derived interface, which enables only early binding.</summary>
// Token: 0x04000CF0 RID: 3312
InterfaceIsIUnknown,
/// <summary>Indicates that an interface is exposed to COM as a dispinterface, which enables late binding only.</summary>
// Token: 0x04000CF1 RID: 3313
InterfaceIsIDispatch
}
}
@@ -0,0 +1,21 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Describes the type of a COM member.</summary>
// Token: 0x02000301 RID: 769
[ComVisible(true)]
[Serializable]
public enum ComMemberType
{
/// <summary>The member is a normal method.</summary>
// Token: 0x04000CF3 RID: 3315
Method,
/// <summary>The member gets properties.</summary>
// Token: 0x04000CF4 RID: 3316
PropGet,
/// <summary>The member sets properties.</summary>
// Token: 0x04000CF5 RID: 3317
PropSet
}
}
@@ -0,0 +1,12 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the method to call when you register an assembly for use from COM; this enables the execution of user-written code during the registration process.</summary>
// Token: 0x02000302 RID: 770
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
[ComVisible(true)]
public sealed class ComRegisterFunctionAttribute : Attribute
{
}
}
@@ -0,0 +1,72 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Identifies a list of interfaces that are exposed as COM event sources for the attributed class.</summary>
// Token: 0x02000303 RID: 771
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public sealed class ComSourceInterfacesAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComSourceInterfacesAttribute" /> class with the name of the event source interface.</summary>
/// <param name="sourceInterfaces">A null-delimited list of fully qualified event source interface names. </param>
// Token: 0x060021D9 RID: 8665 RVA: 0x000791AC File Offset: 0x000773AC
public ComSourceInterfacesAttribute(string sourceInterfaces)
{
this.internalValue = sourceInterfaces;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComSourceInterfacesAttribute" /> class with the type to use as a source interface.</summary>
/// <param name="sourceInterface">The <see cref="T:System.Type" /> of the source interface. </param>
// Token: 0x060021DA RID: 8666 RVA: 0x000791BC File Offset: 0x000773BC
public ComSourceInterfacesAttribute(Type sourceInterface)
{
this.internalValue = sourceInterface.ToString();
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComSourceInterfacesAttribute" /> class with the types to use as source interfaces.</summary>
/// <param name="sourceInterface1">The <see cref="T:System.Type" /> of the default source interface. </param>
/// <param name="sourceInterface2">The <see cref="T:System.Type" /> of a source interface. </param>
// Token: 0x060021DB RID: 8667 RVA: 0x000791D0 File Offset: 0x000773D0
public ComSourceInterfacesAttribute(Type sourceInterface1, Type sourceInterface2)
{
this.internalValue = sourceInterface1.ToString() + sourceInterface2.ToString();
}
/// <summary>Initializes a new instance of the ComSourceInterfacesAttribute class with the types to use as source interfaces.</summary>
/// <param name="sourceInterface1">The <see cref="T:System.Type" /> of the default source interface. </param>
/// <param name="sourceInterface2">The <see cref="T:System.Type" /> of a source interface. </param>
/// <param name="sourceInterface3">The <see cref="T:System.Type" /> of a source interface. </param>
// Token: 0x060021DC RID: 8668 RVA: 0x000791FC File Offset: 0x000773FC
public ComSourceInterfacesAttribute(Type sourceInterface1, Type sourceInterface2, Type sourceInterface3)
{
this.internalValue = sourceInterface1.ToString() + sourceInterface2.ToString() + sourceInterface3.ToString();
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ComSourceInterfacesAttribute" /> class with the types to use as source interfaces.</summary>
/// <param name="sourceInterface1">The <see cref="T:System.Type" /> of the default source interface. </param>
/// <param name="sourceInterface2">The <see cref="T:System.Type" /> of a source interface. </param>
/// <param name="sourceInterface3">The <see cref="T:System.Type" /> of a source interface. </param>
/// <param name="sourceInterface4">The <see cref="T:System.Type" /> of a source interface. </param>
// Token: 0x060021DD RID: 8669 RVA: 0x0007922C File Offset: 0x0007742C
public ComSourceInterfacesAttribute(Type sourceInterface1, Type sourceInterface2, Type sourceInterface3, Type sourceInterface4)
{
this.internalValue = sourceInterface1.ToString() + sourceInterface2.ToString() + sourceInterface3.ToString() + sourceInterface4.ToString();
}
/// <summary>Gets the fully qualified name of the event source interface.</summary>
/// <returns>The fully qualified name of the event source interface.</returns>
// Token: 0x17000645 RID: 1605
// (get) Token: 0x060021DE RID: 8670 RVA: 0x00079264 File Offset: 0x00077464
public string Value
{
get
{
return this.internalValue;
}
}
// Token: 0x04000CF6 RID: 3318
private string internalValue;
}
}
@@ -0,0 +1,25 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains a pointer to a bound-to <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure, <see cref="T:System.Runtime.InteropServices.VARDESC" /> structure, or an ITypeComp interface.</summary>
// Token: 0x020002BB RID: 699
[StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
public struct BINDPTR
{
/// <summary>Represents a pointer to a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure.</summary>
// Token: 0x04000BE9 RID: 3049
[FieldOffset(0)]
public IntPtr lpfuncdesc;
/// <summary>Represents a pointer to an <see cref="T:System.Runtime.InteropServices.ComTypes.ITypeComp" /> interface.</summary>
// Token: 0x04000BEA RID: 3050
[FieldOffset(0)]
public IntPtr lptcomp;
/// <summary>Represents a pointer to a <see cref="T:System.Runtime.InteropServices.VARDESC" /> structure.</summary>
// Token: 0x04000BEB RID: 3051
[FieldOffset(0)]
public IntPtr lpvardesc;
}
}
@@ -0,0 +1,25 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Stores the parameters that are used during a moniker binding operation.</summary>
// Token: 0x020002BC RID: 700
public struct BIND_OPTS
{
/// <summary>Specifies the size, in bytes, of the BIND_OPTS structure.</summary>
// Token: 0x04000BEC RID: 3052
public int cbStruct;
/// <summary>Controls aspects of moniker binding operations.</summary>
// Token: 0x04000BED RID: 3053
public int grfFlags;
/// <summary>Represents flags that should be used when opening the file that contains the object identified by the moniker.</summary>
// Token: 0x04000BEE RID: 3054
public int grfMode;
/// <summary>Indicates the amount of time (clock time in milliseconds, as returned by the GetTickCount function) that the caller specified to complete the binding operation.</summary>
// Token: 0x04000BEF RID: 3055
public int dwTickCountDeadline;
}
}
@@ -0,0 +1,41 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies the calling convention used by a method described in a METHODDATA structure.</summary>
// Token: 0x020002BD RID: 701
[Serializable]
public enum CALLCONV
{
/// <summary>Indicates that the C declaration (CDECL) calling convention is used for a method. </summary>
// Token: 0x04000BF1 RID: 3057
CC_CDECL = 1,
/// <summary>Indicates that the Pascal calling convention is used for a method.</summary>
// Token: 0x04000BF2 RID: 3058
CC_PASCAL,
/// <summary>Indicates that the MSC Pascal (MSCPASCAL) calling convention is used for a method.</summary>
// Token: 0x04000BF3 RID: 3059
CC_MSCPASCAL = 2,
/// <summary>Indicates that the Macintosh Pascal (MACPASCAL) calling convention is used for a method.</summary>
// Token: 0x04000BF4 RID: 3060
CC_MACPASCAL,
/// <summary>Indicates that the standard calling convention (STDCALL) is used for a method.</summary>
// Token: 0x04000BF5 RID: 3061
CC_STDCALL,
/// <summary>This value is reserved for future use.</summary>
// Token: 0x04000BF6 RID: 3062
CC_RESERVED,
/// <summary>Indicates that the standard SYSCALL calling convention is used for a method.</summary>
// Token: 0x04000BF7 RID: 3063
CC_SYSCALL,
/// <summary>Indicates that the Macintosh Programmers' Workbench (MPW) CDECL calling convention is used for a method.</summary>
// Token: 0x04000BF8 RID: 3064
CC_MPWCDECL,
/// <summary>Indicates that the Macintosh Programmers' Workbench (MPW) PASCAL calling convention is used for a method.</summary>
// Token: 0x04000BF9 RID: 3065
CC_MPWPASCAL,
/// <summary>Indicates the end of the <see cref="T:System.Runtime.InteropServices.ComTypes.CALLCONV" /> enumeration.</summary>
// Token: 0x04000BFA RID: 3066
CC_MAX
}
}
@@ -0,0 +1,19 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes a connection that exists to a given connection point.</summary>
// Token: 0x020002BE RID: 702
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct CONNECTDATA
{
/// <summary>Represents a pointer to the IUnknown interface on a connected advisory sink. The caller must call IUnknown::Release on this pointer when the CONNECTDATA structure is no longer needed.</summary>
// Token: 0x04000BFB RID: 3067
[MarshalAs(UnmanagedType.Interface)]
public object pUnk;
/// <summary>Represents a connection token that is returned from a call to <see cref="M:System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(System.Object,System.Int32@)" />.</summary>
// Token: 0x04000BFC RID: 3068
public int dwCookie;
}
}
@@ -0,0 +1,29 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies the type description being bound to.</summary>
// Token: 0x020002BF RID: 703
[Serializable]
public enum DESCKIND
{
/// <summary>Indicates that no match was found.</summary>
// Token: 0x04000BFE RID: 3070
DESCKIND_NONE,
/// <summary>Indicates that a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure was returned.</summary>
// Token: 0x04000BFF RID: 3071
DESCKIND_FUNCDESC,
/// <summary>Indicates that a VARDESC was returned.</summary>
// Token: 0x04000C00 RID: 3072
DESCKIND_VARDESC,
/// <summary>Indicates that a TYPECOMP was returned.</summary>
// Token: 0x04000C01 RID: 3073
DESCKIND_TYPECOMP,
/// <summary>Indicates that an IMPLICITAPPOBJ was returned.</summary>
// Token: 0x04000C02 RID: 3074
DESCKIND_IMPLICITAPPOBJ,
/// <summary>Indicates an end-of-enumeration marker.</summary>
// Token: 0x04000C03 RID: 3075
DESCKIND_MAX
}
}
@@ -0,0 +1,26 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains the arguments passed to a method or property by IDispatch::Invoke.</summary>
// Token: 0x020002C0 RID: 704
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DISPPARAMS
{
/// <summary>Represents a reference to the array of arguments.</summary>
// Token: 0x04000C04 RID: 3076
public IntPtr rgvarg;
/// <summary>Represents the dispatch IDs of named arguments.</summary>
// Token: 0x04000C05 RID: 3077
public IntPtr rgdispidNamedArgs;
/// <summary>Represents the count of arguments.</summary>
// Token: 0x04000C06 RID: 3078
public int cArgs;
/// <summary>Represents the count of named arguments </summary>
// Token: 0x04000C07 RID: 3079
public int cNamedArgs;
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains the type description and process transfer information for a variable, function, or a function parameter.</summary>
// Token: 0x020002C1 RID: 705
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct ELEMDESC
{
/// <summary>Identifies the type of the element.</summary>
// Token: 0x04000C08 RID: 3080
public TYPEDESC tdesc;
/// <summary>Contains information about an element.</summary>
// Token: 0x04000C09 RID: 3081
public ELEMDESC.DESCUNION desc;
/// <summary>Contains information about an element. </summary>
// Token: 0x020002C2 RID: 706
[StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
public struct DESCUNION
{
/// <summary>Contains information for remoting the element.</summary>
// Token: 0x04000C0A RID: 3082
[FieldOffset(0)]
public IDLDESC idldesc;
/// <summary>Contains information about the parameter.</summary>
// Token: 0x04000C0B RID: 3083
[FieldOffset(0)]
public PARAMDESC paramdesc;
}
}
}
@@ -0,0 +1,49 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes the exceptions that occur during IDispatch::Invoke.</summary>
// Token: 0x020002C3 RID: 707
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct EXCEPINFO
{
/// <summary>Represents an error code identifying the error.</summary>
// Token: 0x04000C0C RID: 3084
public short wCode;
/// <summary>This field is reserved; it must be set to 0.</summary>
// Token: 0x04000C0D RID: 3085
public short wReserved;
/// <summary>Indicates the name of the source of the exception. Typically, this is an application name.</summary>
// Token: 0x04000C0E RID: 3086
[MarshalAs(UnmanagedType.BStr)]
public string bstrSource;
/// <summary>Describes the error intended for the customer.</summary>
// Token: 0x04000C0F RID: 3087
[MarshalAs(UnmanagedType.BStr)]
public string bstrDescription;
/// <summary>Contains the fully-qualified drive, path, and file name of a Help file that contains more information about the error.</summary>
// Token: 0x04000C10 RID: 3088
[MarshalAs(UnmanagedType.BStr)]
public string bstrHelpFile;
/// <summary>Indicates the Help context ID of the topic within the Help file.</summary>
// Token: 0x04000C11 RID: 3089
public int dwHelpContext;
/// <summary>This field is reserved; it must be set to null.</summary>
// Token: 0x04000C12 RID: 3090
public IntPtr pvReserved;
/// <summary>Represents a pointer to a function that takes an <see cref="T:System.Runtime.InteropServices.EXCEPINFO" /> structure as an argument and returns an HRESULT value. If deferred fill-in is not desired, this field is set to null.</summary>
// Token: 0x04000C13 RID: 3091
public IntPtr pfnDeferredFillIn;
/// <summary>A return value describing the error.</summary>
// Token: 0x04000C14 RID: 3092
public int scode;
}
}
@@ -0,0 +1,17 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Represents the number of 100-nanosecond intervals since January 1, 1601. This structure is a 64-bit value.</summary>
// Token: 0x020002C4 RID: 708
public struct FILETIME
{
/// <summary>Specifies the low 32 bits of the FILETIME.</summary>
// Token: 0x04000C15 RID: 3093
public int dwLowDateTime;
/// <summary>Specifies the high 32 bits of the FILETIME.</summary>
// Token: 0x04000C16 RID: 3094
public int dwHighDateTime;
}
}
@@ -0,0 +1,57 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines a function description.</summary>
// Token: 0x020002C5 RID: 709
public struct FUNCDESC
{
/// <summary>Identifies the function member ID.</summary>
// Token: 0x04000C17 RID: 3095
public int memid;
/// <summary>Stores the count of errors a function can return on a 16-bit system.</summary>
// Token: 0x04000C18 RID: 3096
public IntPtr lprgscode;
/// <summary>Indicates the size of <see cref="F:System.Runtime.InteropServices.FUNCDESC.cParams" />.</summary>
// Token: 0x04000C19 RID: 3097
public IntPtr lprgelemdescParam;
/// <summary>Specifies whether the function is virtual, static, or dispatch-only.</summary>
// Token: 0x04000C1A RID: 3098
public FUNCKIND funckind;
/// <summary>Specifies the type of a property function.</summary>
// Token: 0x04000C1B RID: 3099
public INVOKEKIND invkind;
/// <summary>Specifies the calling convention of a function.</summary>
// Token: 0x04000C1C RID: 3100
public CALLCONV callconv;
/// <summary>Counts the total number of parameters.</summary>
// Token: 0x04000C1D RID: 3101
public short cParams;
/// <summary>Counts the optional parameters.</summary>
// Token: 0x04000C1E RID: 3102
public short cParamsOpt;
/// <summary>Specifies the offset in the VTBL for <see cref="F:System.Runtime.InteropServices.FUNCKIND.FUNC_VIRTUAL" />.</summary>
// Token: 0x04000C1F RID: 3103
public short oVft;
/// <summary>Counts the permitted return values.</summary>
// Token: 0x04000C20 RID: 3104
public short cScodes;
/// <summary>Contains the return type of the function.</summary>
// Token: 0x04000C21 RID: 3105
public ELEMDESC elemdescFunc;
/// <summary>Indicates the <see cref="T:System.Runtime.InteropServices.FUNCFLAGS" /> of a function.</summary>
// Token: 0x04000C22 RID: 3106
public short wFuncFlags;
}
}
@@ -0,0 +1,51 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies the constants that define the properties of a function.</summary>
// Token: 0x020002C6 RID: 710
[Flags]
[Serializable]
public enum FUNCFLAGS
{
/// <summary>The function should not be accessible from macro languages. This flag is intended for system-level functions or functions that type browsers should not display.</summary>
// Token: 0x04000C24 RID: 3108
FUNCFLAG_FRESTRICTED = 1,
/// <summary>The function returns an object that is a source of events.</summary>
// Token: 0x04000C25 RID: 3109
FUNCFLAG_FSOURCE = 2,
/// <summary>The function that supports data binding.</summary>
// Token: 0x04000C26 RID: 3110
FUNCFLAG_FBINDABLE = 4,
/// <summary>When set, any call to a method that sets the property results first in a call to IPropertyNotifySink::OnRequestEdit. The implementation of OnRequestEdit determines if the call is allowed to set the property.</summary>
// Token: 0x04000C27 RID: 3111
FUNCFLAG_FREQUESTEDIT = 8,
/// <summary>The function that is displayed to the user as bindable. <see cref="F:System.Runtime.InteropServices.FUNCFLAGS.FUNCFLAG_FBINDABLE" /> must also be set.</summary>
// Token: 0x04000C28 RID: 3112
FUNCFLAG_FDISPLAYBIND = 16,
/// <summary>The function that best represents the object. Only one function in a type can have this attribute.</summary>
// Token: 0x04000C29 RID: 3113
FUNCFLAG_FDEFAULTBIND = 32,
/// <summary>The function should not be displayed to the user, although it exists and is bindable.</summary>
// Token: 0x04000C2A RID: 3114
FUNCFLAG_FHIDDEN = 64,
/// <summary>The function supports GetLastError. If an error occurs during the function, the caller can call GetLastError to retrieve the error code.</summary>
// Token: 0x04000C2B RID: 3115
FUNCFLAG_FUSESGETLASTERROR = 128,
/// <summary>Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found, and is flagged as an accessor function for an element of the default collection, a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules.</summary>
// Token: 0x04000C2C RID: 3116
FUNCFLAG_FDEFAULTCOLLELEM = 256,
/// <summary>The type information member is the default member for display in the user interface.</summary>
// Token: 0x04000C2D RID: 3117
FUNCFLAG_FUIDEFAULT = 512,
/// <summary>The property appears in an object browser, but not in a properties browser.</summary>
// Token: 0x04000C2E RID: 3118
FUNCFLAG_FNONBROWSABLE = 1024,
/// <summary>Tags the interface as having default behaviors.</summary>
// Token: 0x04000C2F RID: 3119
FUNCFLAG_FREPLACEABLE = 2048,
/// <summary>Mapped as individual bindable properties.</summary>
// Token: 0x04000C30 RID: 3120
FUNCFLAG_FIMMEDIATEBIND = 4096
}
}
@@ -0,0 +1,26 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines how to access a function.</summary>
// Token: 0x020002C7 RID: 711
[Serializable]
public enum FUNCKIND
{
/// <summary>The function is accessed in the same way as <see cref="F:System.Runtime.InteropServices.FUNCKIND.FUNC_PUREVIRTUAL" />, except the function has an implementation.</summary>
// Token: 0x04000C32 RID: 3122
FUNC_VIRTUAL,
/// <summary>The function is accessed through the virtual function table (VTBL), and takes an implicit this pointer.</summary>
// Token: 0x04000C33 RID: 3123
FUNC_PUREVIRTUAL,
/// <summary>The function is accessed by static address and takes an implicit this pointer.</summary>
// Token: 0x04000C34 RID: 3124
FUNC_NONVIRTUAL,
/// <summary>The function is accessed by static address and does not take an implicit this pointer.</summary>
// Token: 0x04000C35 RID: 3125
FUNC_STATIC,
/// <summary>The function can be accessed only through IDispatch.</summary>
// Token: 0x04000C36 RID: 3126
FUNC_DISPATCH
}
}
@@ -0,0 +1,65 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IBindCtx interface.</summary>
// Token: 0x020002C8 RID: 712
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("0000000e-0000-0000-c000-000000000046")]
[ComImport]
public interface IBindCtx
{
/// <summary>Registers the passed object as one of the objects that has been bound during a moniker operation and that should be released when the operation is complete.</summary>
/// <param name="punk">The object to register for release. </param>
// Token: 0x0600210F RID: 8463
void RegisterObjectBound([MarshalAs(UnmanagedType.Interface)] object punk);
/// <summary>Removes the object from the set of registered objects that need to be released.</summary>
/// <param name="punk">The object to unregister for release. </param>
// Token: 0x06002110 RID: 8464
void RevokeObjectBound([MarshalAs(UnmanagedType.Interface)] object punk);
/// <summary>Releases all the objects currently registered with the bind context by using the <see cref="M:System.Runtime.InteropServices.ComTypes.IBindCtx.RegisterObjectBound(System.Object)" /> method.</summary>
// Token: 0x06002111 RID: 8465
void ReleaseBoundObjects();
/// <summary>Stores a block of parameters in the bind context. These parameters will apply to later UCOMIMoniker operations that use this bind context.</summary>
/// <param name="pbindopts">The structure containing the binding options to set. </param>
// Token: 0x06002112 RID: 8466
void SetBindOptions([In] ref BIND_OPTS pbindopts);
/// <summary>Returns the current binding options stored in the current bind context.</summary>
/// <param name="pbindopts">A pointer to the structure to receive the binding options. </param>
// Token: 0x06002113 RID: 8467
void GetBindOptions(ref BIND_OPTS pbindopts);
/// <summary>Returns access to the Running Object Table (ROT) relevant to this binding process.</summary>
/// <param name="pprot">When this method returns, contains a reference to the Running Object Table (ROT). This parameter is passed uninitialized.</param>
// Token: 0x06002114 RID: 8468
void GetRunningObjectTable(out IRunningObjectTable pprot);
/// <summary>Registers the specified object pointer under the specified name in the internally maintained table of object pointers.</summary>
/// <param name="pszKey">The name to register <paramref name="punk" /> with. </param>
/// <param name="punk">The object to register. </param>
// Token: 0x06002115 RID: 8469
void RegisterObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey, [MarshalAs(UnmanagedType.Interface)] object punk);
/// <summary>Looks up the given key in the internally maintained table of contextual object parameters and returns the corresponding object, if one exists.</summary>
/// <param name="pszKey">The name of the object to search for. </param>
/// <param name="ppunk">When this method returns, contains the object interface pointer. This parameter is passed uninitialized.</param>
// Token: 0x06002116 RID: 8470
void GetObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey, [MarshalAs(UnmanagedType.Interface)] out object ppunk);
/// <summary>Enumerates the strings that are the keys of the internally maintained table of contextual object parameters.</summary>
/// <param name="ppenum">When this method returns, contains a reference to the object parameter enumerator. This parameter is passed uninitialized.</param>
// Token: 0x06002117 RID: 8471
void EnumObjectParam(out IEnumString ppenum);
/// <summary>Revokes the registration of the object currently found under the specified key in the internally maintained table of contextual object parameters, if that key is currently registered.</summary>
/// <returns>An S_OKHRESULT value if the specified key was successfully removed from the table; otherwise, an S_FALSEHRESULT value.</returns>
/// <param name="pszKey">The key to unregister. </param>
// Token: 0x06002118 RID: 8472
[PreserveSig]
int RevokeObjectParam([MarshalAs(UnmanagedType.LPWStr)] string pszKey);
}
}
@@ -0,0 +1,38 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IConnectionPoint interface.</summary>
// Token: 0x020002C9 RID: 713
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("b196b286-bab4-101a-b69c-00aa00341d07")]
[ComImport]
public interface IConnectionPoint
{
/// <summary>Returns the IID of the outgoing interface managed by this connection point.</summary>
/// <param name="pIID">When this parameter returns, contains the IID of the outgoing interface managed by this connection point. This parameter is passed uninitialized.</param>
// Token: 0x06002119 RID: 8473
void GetConnectionInterface(out Guid pIID);
/// <summary>Retrieves the IConnectionPointContainer interface pointer to the connectable object that conceptually owns this connection point.</summary>
/// <param name="ppCPC">When this parameter returns, contains the connectable object's IConnectionPointContainer interface. This parameter is passed uninitialized.</param>
// Token: 0x0600211A RID: 8474
void GetConnectionPointContainer(out IConnectionPointContainer ppCPC);
/// <summary>Establishes an advisory connection between the connection point and the caller's sink object.</summary>
/// <param name="pUnkSink">A reference to the sink to receive calls for the outgoing interface managed by this connection point. </param>
/// <param name="pdwCookie">When this method returns, contains the connection cookie. This parameter is passed uninitialized.</param>
// Token: 0x0600211B RID: 8475
void Advise([MarshalAs(UnmanagedType.Interface)] object pUnkSink, out int pdwCookie);
/// <summary>Terminates an advisory connection previously established through the <see cref="M:System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(System.Object,System.Int32@)" /> method.</summary>
/// <param name="dwCookie">The connection cookie previously returned from the <see cref="M:System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(System.Object,System.Int32@)" /> method. </param>
// Token: 0x0600211C RID: 8476
void Unadvise(int dwCookie);
/// <summary>Creates an enumerator object for iteration through the connections that exist to this connection point.</summary>
/// <param name="ppEnum">When this method returns, contains the newly created enumerator. This parameter is passed uninitialized.</param>
// Token: 0x0600211D RID: 8477
void EnumConnections(out IEnumConnections ppEnum);
}
}
@@ -0,0 +1,23 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IConnectionPointContainer interface.</summary>
// Token: 0x020002CA RID: 714
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("b196b284-bab4-101a-b69c-00aa00341d07")]
[ComImport]
public interface IConnectionPointContainer
{
/// <summary>Creates an enumerator of all the connection points supported in the connectable object, one connection point per IID.</summary>
/// <param name="ppEnum">When this method returns, contains the interface pointer of the enumerator. This parameter is passed uninitialized.</param>
// Token: 0x0600211E RID: 8478
void EnumConnectionPoints(out IEnumConnectionPoints ppEnum);
/// <summary>Asks the connectable object if it has a connection point for a particular IID, and if so, returns the IConnectionPoint interface pointer to that connection point.</summary>
/// <param name="riid">A reference to the outgoing interface IID whose connection point is being requested. </param>
/// <param name="ppCP">When this method returns, contains the connection point that manages the outgoing interface <paramref name="riid" />. This parameter is passed uninitialized.</param>
// Token: 0x0600211F RID: 8479
void FindConnectionPoint([In] ref Guid riid, out IConnectionPoint ppCP);
}
}
@@ -0,0 +1,18 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains information needed for transferring a structure element, parameter, or function return value between processes.</summary>
// Token: 0x020002CB RID: 715
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct IDLDESC
{
/// <summary>Reserved; set to null.</summary>
// Token: 0x04000C37 RID: 3127
public IntPtr dwReserved;
/// <summary>Indicates an <see cref="T:System.Runtime.InteropServices.IDLFLAG" /> value describing the type.</summary>
// Token: 0x04000C38 RID: 3128
public IDLFLAG wIDLFlags;
}
}
@@ -0,0 +1,27 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes how to transfer a structure element, parameter, or function return value between processes.</summary>
// Token: 0x020002CC RID: 716
[Flags]
[Serializable]
public enum IDLFLAG
{
/// <summary>Does not specify whether the parameter passes or receives information.</summary>
// Token: 0x04000C3A RID: 3130
IDLFLAG_NONE = 0,
/// <summary>The parameter passes information from the caller to the callee.</summary>
// Token: 0x04000C3B RID: 3131
IDLFLAG_FIN = 1,
/// <summary>The parameter returns information from the callee to the caller.</summary>
// Token: 0x04000C3C RID: 3132
IDLFLAG_FOUT = 2,
/// <summary>The parameter is the local identifier of a client application.</summary>
// Token: 0x04000C3D RID: 3133
IDLFLAG_FLCID = 4,
/// <summary>The parameter is the return value of the member.</summary>
// Token: 0x04000C3E RID: 3134
IDLFLAG_FRETVAL = 8
}
}
@@ -0,0 +1,37 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Manages the definition of the IEnumConnectionPoints interface.</summary>
// Token: 0x020002CD RID: 717
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("b196b285-bab4-101a-b69c-00aa00341d07")]
[ComImport]
public interface IEnumConnectionPoints
{
/// <summary>Retrieves a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the <paramref name="pceltFetched" /> parameter equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of IConnectionPoint references to return in <paramref name="rgelt" />. </param>
/// <param name="rgelt">When this method returns, contains a reference to the enumerated connections. This parameter is passed uninitialized.</param>
/// <param name="pceltFetched">When this method returns, contains a reference to the actual number of connections enumerated in <paramref name="rgelt" />. </param>
// Token: 0x06002120 RID: 8480
[PreserveSig]
int Next(int celt, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 0)] [Out] IConnectionPoint[] rgelt, IntPtr pceltFetched);
/// <summary>Skips a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the number of elements skipped equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to skip in the enumeration. </param>
// Token: 0x06002121 RID: 8481
[PreserveSig]
int Skip(int celt);
/// <summary>Resets the enumeration sequence to the beginning.</summary>
// Token: 0x06002122 RID: 8482
void Reset();
/// <summary>Creates a new enumerator that contains the same enumeration state as the current one.</summary>
/// <param name="ppenum">When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized.</param>
// Token: 0x06002123 RID: 8483
void Clone(out IEnumConnectionPoints ppenum);
}
}
@@ -0,0 +1,37 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Manages the definition of the IEnumConnections interface.</summary>
// Token: 0x020002CE RID: 718
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("b196b287-bab4-101a-b69c-00aa00341d07")]
[ComImport]
public interface IEnumConnections
{
/// <summary>Retrieves a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the <paramref name="pceltFetched" /> parameter equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of <see cref="T:System.Runtime.InteropServices.CONNECTDATA" /> structures to return in <paramref name="rgelt" />. </param>
/// <param name="rgelt">When this method returns, contains a reference to the enumerated connections. This parameter is passed uninitialized.</param>
/// <param name="pceltFetched">When this method returns, contains a reference to the actual number of connections enumerated in <paramref name="rgelt" />. </param>
// Token: 0x06002124 RID: 8484
[PreserveSig]
int Next(int celt, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 0)] [Out] CONNECTDATA[] rgelt, IntPtr pceltFetched);
/// <summary>Skips a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the number of elements skipped equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to skip in the enumeration. </param>
// Token: 0x06002125 RID: 8485
[PreserveSig]
int Skip(int celt);
/// <summary>Resets the enumeration sequence to the beginning.</summary>
// Token: 0x06002126 RID: 8486
void Reset();
/// <summary>Creates a new enumerator that contains the same enumeration state as the current one.</summary>
/// <param name="ppenum">When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized.</param>
// Token: 0x06002127 RID: 8487
void Clone(out IEnumConnections ppenum);
}
}
@@ -0,0 +1,37 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Manages the definition of the IEnumMoniker interface.</summary>
// Token: 0x020002CF RID: 719
[Guid("00000102-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface IEnumMoniker
{
/// <summary>Retrieves a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the <paramref name="pceltFetched" /> parameter equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of monikers to return in <paramref name="rgelt" />. </param>
/// <param name="rgelt">When this method returns, contains a reference to the enumerated monikers. This parameter is passed uninitialized.</param>
/// <param name="pceltFetched">When this method returns, contains a reference to the actual number of monikers enumerated in <paramref name="rgelt" />. </param>
// Token: 0x06002128 RID: 8488
[PreserveSig]
int Next(int celt, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 0)] [Out] IMoniker[] rgelt, IntPtr pceltFetched);
/// <summary>Skips a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the number of elements skipped equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to skip in the enumeration. </param>
// Token: 0x06002129 RID: 8489
[PreserveSig]
int Skip(int celt);
/// <summary>Resets the enumeration sequence to the beginning.</summary>
// Token: 0x0600212A RID: 8490
void Reset();
/// <summary>Creates a new enumerator that contains the same enumeration state as the current one.</summary>
/// <param name="ppenum">When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized.</param>
// Token: 0x0600212B RID: 8491
void Clone(out IEnumMoniker ppenum);
}
}
@@ -0,0 +1,37 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Manages the definition of the IEnumString interface.</summary>
// Token: 0x020002D0 RID: 720
[Guid("00000101-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface IEnumString
{
/// <summary>Retrieves a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the <paramref name="pceltFetched" /> parameter equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of strings to return in <paramref name="rgelt" />. </param>
/// <param name="rgelt">When this method returns, contains a reference to the enumerated strings. This parameter is passed uninitialized.</param>
/// <param name="pceltFetched">When this method returns, contains a reference to the actual number of strings enumerated in <paramref name="rgelt" />. </param>
// Token: 0x0600212C RID: 8492
[PreserveSig]
int Next(int celt, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 0)] [Out] string[] rgelt, IntPtr pceltFetched);
/// <summary>Skips a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the number of elements skipped equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to skip in the enumeration. </param>
// Token: 0x0600212D RID: 8493
[PreserveSig]
int Skip(int celt);
/// <summary>Resets the enumeration sequence to the beginning.</summary>
// Token: 0x0600212E RID: 8494
void Reset();
/// <summary>Creates a new enumerator that contains the same enumeration state as the current one.</summary>
/// <param name="ppenum">When this method returns, contains a reference to the newly created enumerator. This parameter is passed uninitialized.</param>
// Token: 0x0600212F RID: 8495
void Clone(out IEnumString ppenum);
}
}
@@ -0,0 +1,39 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Manages the definition of the IEnumVARIANT interface.</summary>
// Token: 0x020002D1 RID: 721
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("00020404-0000-0000-c000-000000000046")]
[ComImport]
public interface IEnumVARIANT
{
/// <summary>Retrieves a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the <paramref name="pceltFetched" /> parameter equals the <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to return in <paramref name="rgelt" />. </param>
/// <param name="rgVar">When this method returns, contains a reference to the enumerated elements. This parameter is passed uninitialized.</param>
/// <param name="pceltFetched">When this method returns, contains a reference to the actual number of elements enumerated in <paramref name="rgelt" />. </param>
// Token: 0x06002130 RID: 8496
[PreserveSig]
int Next(int celt, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 0)] [Out] object[] rgVar, IntPtr pceltFetched);
/// <summary>Skips a specified number of items in the enumeration sequence.</summary>
/// <returns>S_OK if the number of elements skipped equals <paramref name="celt" /> parameter; otherwise, S_FALSE.</returns>
/// <param name="celt">The number of elements to skip in the enumeration. </param>
// Token: 0x06002131 RID: 8497
[PreserveSig]
int Skip(int celt);
/// <summary>Resets the enumeration sequence to the beginning.</summary>
/// <returns>An HRESULT with the value S_OK.</returns>
// Token: 0x06002132 RID: 8498
[PreserveSig]
int Reset();
/// <summary>Creates a new enumerator that contains the same enumeration state as the current one.</summary>
/// <returns>An <see cref="T:System.Runtime.InteropServices.ComTypes.IEnumVARIANT" /> reference to the newly created enumerator.</returns>
// Token: 0x06002133 RID: 8499
IEnumVARIANT Clone();
}
}
@@ -0,0 +1,24 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines the attributes of an implemented or inherited interface of a type.</summary>
// Token: 0x020002D2 RID: 722
[Flags]
[Serializable]
public enum IMPLTYPEFLAGS
{
/// <summary>The interface or dispinterface represents the default for the source or sink.</summary>
// Token: 0x04000C40 RID: 3136
IMPLTYPEFLAG_FDEFAULT = 1,
/// <summary>This member of a coclass is called rather than implemented.</summary>
// Token: 0x04000C41 RID: 3137
IMPLTYPEFLAG_FSOURCE = 2,
/// <summary>The member should not be displayed or programmable by users.</summary>
// Token: 0x04000C42 RID: 3138
IMPLTYPEFLAG_FRESTRICTED = 4,
/// <summary>Sinks receive events through the virtual function table (VTBL).</summary>
// Token: 0x04000C43 RID: 3139
IMPLTYPEFLAG_FDEFAULTVTABLE = 8
}
}
@@ -0,0 +1,144 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IMoniker interface, with COM functionality from IPersist and IPersistStream.</summary>
// Token: 0x020002D3 RID: 723
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("0000000f-0000-0000-c000-000000000046")]
[ComImport]
public interface IMoniker
{
/// <summary>Retrieves the class identifier (CLSID) of an object.</summary>
/// <param name="pClassID">When this method returns, contains the CLSID. This parameter is passed uninitialized.</param>
// Token: 0x06002134 RID: 8500
void GetClassID(out Guid pClassID);
/// <summary>Checks the object for changes since it was last saved.</summary>
/// <returns>An S_OKHRESULT value if the object has changed; otherwise, an S_FALSEHRESULT value.</returns>
// Token: 0x06002135 RID: 8501
[PreserveSig]
int IsDirty();
/// <summary>Initializes an object from the stream where it was previously saved.</summary>
/// <param name="pStm">The stream that the object is loaded from. </param>
// Token: 0x06002136 RID: 8502
void Load(IStream pStm);
/// <summary>Saves an object to the specified stream.</summary>
/// <param name="pStm">The stream to which the object is saved. </param>
/// <param name="fClearDirty">true to clear the modified flag after the save is complete; otherwise false</param>
// Token: 0x06002137 RID: 8503
void Save(IStream pStm, [MarshalAs(UnmanagedType.Bool)] bool fClearDirty);
/// <summary>Returns the size, in bytes, of the stream needed to save the object.</summary>
/// <param name="pcbSize">When this method returns, contains a long value indicating the size, in bytes, of the stream needed to save this object. This parameter is passed uninitialized.</param>
// Token: 0x06002138 RID: 8504
void GetSizeMax(out long pcbSize);
/// <summary>Uses the moniker to bind to the object that it identifies.</summary>
/// <param name="pbc">A reference to the IBindCtx interface on the bind context object used in this binding operation. </param>
/// <param name="pmkToLeft">A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. </param>
/// <param name="riidResult">The interface identifier (IID) of the interface that the client intends to use to communicate with the object that the moniker identifies. </param>
/// <param name="ppvResult">When this method returns, contains a reference to the interface requested by <paramref name="riidResult" />. This parameter is passed uninitialized.</param>
// Token: 0x06002139 RID: 8505
void BindToObject(IBindCtx pbc, IMoniker pmkToLeft, [In] ref Guid riidResult, [MarshalAs(UnmanagedType.Interface)] out object ppvResult);
/// <summary>Retrieves an interface pointer to the storage that contains the object identified by the moniker.</summary>
/// <param name="pbc">A reference to the IBindCtx interface on the bind context object used during this binding operation. </param>
/// <param name="pmkToLeft">A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. </param>
/// <param name="riid">The interface identifier (IID) of the storage interface requested. </param>
/// <param name="ppvObj">When this method returns, contains a reference to the interface requested by <paramref name="riid" />. This parameter is passed uninitialized.</param>
// Token: 0x0600213A RID: 8506
void BindToStorage(IBindCtx pbc, IMoniker pmkToLeft, [In] ref Guid riid, [MarshalAs(UnmanagedType.Interface)] out object ppvObj);
/// <summary>Returns a reduced moniker, which is another moniker that refers to the same object as the current moniker but can be bound with equal or greater efficiency.</summary>
/// <param name="pbc">A reference to the IBindCtx interface on the bind context to use in this binding operation. </param>
/// <param name="dwReduceHowFar">A value that specifies how far the current moniker should be reduced. </param>
/// <param name="ppmkToLeft">A reference to the moniker to the left of the current moniker. </param>
/// <param name="ppmkReduced">When this method returns, contains a reference to the reduced form of the current moniker, which can be null if an error occurs or if the current moniker is reduced to nothing. This parameter is passed uninitialized.</param>
// Token: 0x0600213B RID: 8507
void Reduce(IBindCtx pbc, int dwReduceHowFar, ref IMoniker ppmkToLeft, out IMoniker ppmkReduced);
/// <summary>Combines the current moniker with another moniker, creating a new composite moniker.</summary>
/// <param name="pmkRight">A reference to the IMoniker interface on a moniker to append to the end of the current moniker. </param>
/// <param name="fOnlyIfNotGeneric">true to indicate that the caller requires a nongeneric composition. The operation proceeds only if <paramref name="pmkRight" /> is a moniker class that the current moniker can combine with in some way other than forming a generic composite. false to indicate that the method can create a generic composite if necessary. </param>
/// <param name="ppmkComposite">When this method returns, contains a reference to the resulting composite moniker. This parameter is passed uninitialized.</param>
// Token: 0x0600213C RID: 8508
void ComposeWith(IMoniker pmkRight, [MarshalAs(UnmanagedType.Bool)] bool fOnlyIfNotGeneric, out IMoniker ppmkComposite);
/// <summary>Supplies a pointer to an enumerator that can enumerate the components of a composite moniker.</summary>
/// <param name="fForward">true to enumerate the monikers from left to right. false to enumerate from right to left. </param>
/// <param name="ppenumMoniker">When this method returns, contains a reference to the enumerator object for the moniker. This parameter is passed uninitialized.</param>
// Token: 0x0600213D RID: 8509
void Enum([MarshalAs(UnmanagedType.Bool)] bool fForward, out IEnumMoniker ppenumMoniker);
/// <summary>Compares the current moniker with a specified moniker and indicates whether they are identical.</summary>
/// <returns>An S_OKHRESULT value if the monikers are identical; otherwise, an S_FALSEHRESULT value. </returns>
/// <param name="pmkOtherMoniker">A reference to the moniker to use for comparison. </param>
// Token: 0x0600213E RID: 8510
[PreserveSig]
int IsEqual(IMoniker pmkOtherMoniker);
/// <summary>Calculates a 32-bit integer using the internal state of the moniker.</summary>
/// <param name="pdwHash">When this method returns, contains the hash value for this moniker. This parameter is passed uninitialized.</param>
// Token: 0x0600213F RID: 8511
void Hash(out int pdwHash);
/// <summary>Determines whether the object that is identified by the current moniker is currently loaded and running.</summary>
/// <returns>An S_OKHRESULT value if the moniker is running; an S_FALSEHRESULT value if the moniker is not running; or an E_UNEXPECTEDHRESULT value.</returns>
/// <param name="pbc">A reference to the bind context to use in this binding operation. </param>
/// <param name="pmkToLeft">A reference to the moniker to the left of the current moniker if the current moniker is part of a composite. </param>
/// <param name="pmkNewlyRunning">A reference to the moniker most recently added to the Running Object Table (ROT). </param>
// Token: 0x06002140 RID: 8512
[PreserveSig]
int IsRunning(IBindCtx pbc, IMoniker pmkToLeft, IMoniker pmkNewlyRunning);
/// <summary>Provides a number representing the time that the object identified by the current moniker was last changed.</summary>
/// <param name="pbc">A reference to the bind context to use in this binding operation. </param>
/// <param name="pmkToLeft">A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. </param>
/// <param name="pFileTime">When this method returns, contains the time of the last change. This parameter is passed uninitialized.</param>
// Token: 0x06002141 RID: 8513
void GetTimeOfLastChange(IBindCtx pbc, IMoniker pmkToLeft, out FILETIME pFileTime);
/// <summary>Provides a moniker that, when composed to the right of the current moniker or one of similar structure, composes to nothing.</summary>
/// <param name="ppmk">When this method returns, contains a moniker that is the inverse of the current moniker. This parameter is passed uninitialized.</param>
// Token: 0x06002142 RID: 8514
void Inverse(out IMoniker ppmk);
/// <summary>Creates a new moniker based on the common prefix that this moniker shares with another moniker.</summary>
/// <param name="pmkOther">A reference to the IMoniker interface on another moniker to compare with the current moniker for a common prefix. </param>
/// <param name="ppmkPrefix">When this method returns, contains the moniker that is the common prefix of the current moniker and <paramref name="pmkOther" />. This parameter is passed uninitialized.</param>
// Token: 0x06002143 RID: 8515
void CommonPrefixWith(IMoniker pmkOther, out IMoniker ppmkPrefix);
/// <summary>Supplies a moniker that, when appended to the current moniker (or one with a similar structure), yields the specified moniker.</summary>
/// <param name="pmkOther">A reference to the moniker to which a relative path should be taken. </param>
/// <param name="ppmkRelPath">When this method returns, contains a reference to the relative moniker. This parameter is passed uninitialized.</param>
// Token: 0x06002144 RID: 8516
void RelativePathTo(IMoniker pmkOther, out IMoniker ppmkRelPath);
/// <summary>Gets the display name, which is a user-readable representation of the current moniker.</summary>
/// <param name="pbc">A reference to the bind context to use in this operation. </param>
/// <param name="pmkToLeft">A reference to the moniker to the left of the current moniker, if the moniker is part of a composite moniker. </param>
/// <param name="ppszDisplayName">When this method returns, contains the display name string. This parameter is passed uninitialized.</param>
// Token: 0x06002145 RID: 8517
void GetDisplayName(IBindCtx pbc, IMoniker pmkToLeft, [MarshalAs(UnmanagedType.LPWStr)] out string ppszDisplayName);
/// <summary>Reads as many characters of the specified display name as the <see cref="M:System.Runtime.InteropServices.ComTypes.IMoniker.ParseDisplayName(System.Runtime.InteropServices.ComTypes.IBindCtx,System.Runtime.InteropServices.ComTypes.IMoniker,System.String,System.Int32@,System.Runtime.InteropServices.ComTypes.IMoniker@)" /> understands and builds a moniker corresponding to the portion read.</summary>
/// <param name="pbc">A reference to the bind context to use in this binding operation. </param>
/// <param name="pmkToLeft">A reference to the moniker that has been built from the display name up to this point. </param>
/// <param name="pszDisplayName">A reference to the string containing the remaining display name to parse. </param>
/// <param name="pchEaten">When this method returns, contains the number of characters that were consumed in parsing <paramref name="pszDisplayName" />. This parameter is passed uninitialized.</param>
/// <param name="ppmkOut">When this method returns, contains a reference to the moniker that was built from <paramref name="pszDisplayName" />. This parameter is passed uninitialized.</param>
// Token: 0x06002146 RID: 8518
void ParseDisplayName(IBindCtx pbc, IMoniker pmkToLeft, [MarshalAs(UnmanagedType.LPWStr)] string pszDisplayName, out int pchEaten, out IMoniker ppmkOut);
/// <summary>Indicates whether this moniker is of one of the system-supplied moniker classes.</summary>
/// <returns>An S_OKHRESULT value if the moniker is a system moniker; otherwise, an S_FALSEHRESULT value.</returns>
/// <param name="pdwMksys">When this method returns, contains a pointer to an integer that is one of the values from the MKSYS enumeration, and refers to one of the COM moniker classes. This parameter is passed uninitialized.</param>
// Token: 0x06002147 RID: 8519
[PreserveSig]
int IsSystemMoniker(out int pdwMksys);
}
}
@@ -0,0 +1,24 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Specifies how to invoke a function by IDispatch::Invoke.</summary>
// Token: 0x020002D4 RID: 724
[Flags]
[Serializable]
public enum INVOKEKIND
{
/// <summary>The member is called using a normal function invocation syntax.</summary>
// Token: 0x04000C45 RID: 3141
INVOKE_FUNC = 1,
/// <summary>The function is invoked using a normal property access syntax.</summary>
// Token: 0x04000C46 RID: 3142
INVOKE_PROPERTYGET = 2,
/// <summary>The function is invoked using a property value assignment syntax.</summary>
// Token: 0x04000C47 RID: 3143
INVOKE_PROPERTYPUT = 4,
/// <summary>The function is invoked using a property reference assignment syntax.</summary>
// Token: 0x04000C48 RID: 3144
INVOKE_PROPERTYPUTREF = 8
}
}
@@ -0,0 +1,45 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IPersistFile interface, with functionality from IPersist.</summary>
// Token: 0x020002D5 RID: 725
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("0000010b-0000-0000-c000-000000000046")]
[ComImport]
public interface IPersistFile
{
/// <summary>Retrieves the class identifier (CLSID) of an object.</summary>
/// <param name="pClassID">When this method returns, contains a reference to the CLSID. This parameter is passed uninitialized.</param>
// Token: 0x06002148 RID: 8520
void GetClassID(out Guid pClassID);
/// <summary>Checks an object for changes since it was last saved to its current file.</summary>
/// <returns>S_OK if the file has changed since it was last saved; S_FALSE if the file has not changed since it was last saved.</returns>
// Token: 0x06002149 RID: 8521
[PreserveSig]
int IsDirty();
/// <summary>Opens the specified file and initializes an object from the file contents.</summary>
/// <param name="pszFileName">A zero-terminated string containing the absolute path of the file to open. </param>
/// <param name="dwMode">A combination of values from the STGM enumeration to indicate the access mode in which to open <paramref name="pszFileName" />. </param>
// Token: 0x0600214A RID: 8522
void Load([MarshalAs(UnmanagedType.LPWStr)] string pszFileName, int dwMode);
/// <summary>Saves a copy of the object into the specified file.</summary>
/// <param name="pszFileName">A zero-terminated string containing the absolute path of the file to which the object is saved. </param>
/// <param name="fRemember">true to used the <paramref name="pszFileName" /> parameter as the current working file; otherwise false. </param>
// Token: 0x0600214B RID: 8523
void Save([MarshalAs(UnmanagedType.LPWStr)] string pszFileName, [MarshalAs(UnmanagedType.Bool)] bool fRemember);
/// <summary>Notifies the object that it can write to its file.</summary>
/// <param name="pszFileName">The absolute path of the file where the object was previously saved. </param>
// Token: 0x0600214C RID: 8524
void SaveCompleted([MarshalAs(UnmanagedType.LPWStr)] string pszFileName);
/// <summary>Retrieves either the absolute path to the current working file of the object or, if there is no current working file, the default file name prompt of the object.</summary>
/// <param name="ppszFileName">When this method returns, contains the address of a pointer to a zero-terminated string containing the path for the current file, or the default file name prompt (such as *.txt). This parameter is passed uninitialized.</param>
// Token: 0x0600214D RID: 8525
void GetCurFile([MarshalAs(UnmanagedType.LPWStr)] out string ppszFileName);
}
}
@@ -0,0 +1,59 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IRunningObjectTable interface.</summary>
// Token: 0x020002D6 RID: 726
[Guid("00000010-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface IRunningObjectTable
{
/// <summary>Registers that the supplied object has entered the running state.</summary>
/// <returns>A value that can be used to identify this ROT entry in subsequent calls to <see cref="M:System.Runtime.InteropServices.ComTypes.IRunningObjectTable.Revoke(System.Int32)" /> or <see cref="M:System.Runtime.InteropServices.ComTypes.IRunningObjectTable.NoteChangeTime(System.Int32,System.Runtime.InteropServices.ComTypes.FILETIME@)" />.</returns>
/// <param name="grfFlags">Specifies whether the Running Object Table's (ROT) reference to <paramref name="punkObject" /> is weak or strong, and controls access to the object through its entry in the ROT. </param>
/// <param name="punkObject">A reference to the object being registered as running. </param>
/// <param name="pmkObjectName">A reference to the moniker that identifies <paramref name="punkObject" />. </param>
// Token: 0x0600214E RID: 8526
int Register(int grfFlags, [MarshalAs(UnmanagedType.Interface)] object punkObject, IMoniker pmkObjectName);
/// <summary>Unregisters the specified object from the Running Object Table (ROT).</summary>
/// <param name="dwRegister">The Running Object Table (ROT) entry to revoke. </param>
// Token: 0x0600214F RID: 8527
void Revoke(int dwRegister);
/// <summary>Determines whether the specified moniker is currently registered in the Running Object Table (ROT).</summary>
/// <returns>An HRESULT value that indicates the success or failure of the operation.</returns>
/// <param name="pmkObjectName">A reference to the moniker to search for in the Running Object Table (ROT). </param>
// Token: 0x06002150 RID: 8528
[PreserveSig]
int IsRunning(IMoniker pmkObjectName);
/// <summary>Returns the registered object if the supplied object name is registered as running.</summary>
/// <returns>An HRESULT value that indicates the success or failure of the operation. </returns>
/// <param name="pmkObjectName">A reference to the moniker to search for in the Running Object Table (ROT). </param>
/// <param name="ppunkObject">When this method returns, contains the requested running object. This parameter is passed uninitialized.</param>
// Token: 0x06002151 RID: 8529
[PreserveSig]
int GetObject(IMoniker pmkObjectName, [MarshalAs(UnmanagedType.Interface)] out object ppunkObject);
/// <summary>Notes the time that a particular object changed so IMoniker::GetTimeOfLastChange can report an appropriate change time.</summary>
/// <param name="dwRegister">The Running Object Table (ROT) entry of the changed object. </param>
/// <param name="pfiletime">A reference to the object's last change time. </param>
// Token: 0x06002152 RID: 8530
void NoteChangeTime(int dwRegister, ref FILETIME pfiletime);
/// <summary>Searches for this moniker in the Running Object Table (ROT) and reports the recorded time of change, if present.</summary>
/// <returns>An HRESULT value that indicates the success or failure of the operation.</returns>
/// <param name="pmkObjectName">A reference to the moniker to search for in the Running Object Table (ROT). </param>
/// <param name="pfiletime">When this object returns, contains the objects last change time. This parameter is passed uninitialized.</param>
// Token: 0x06002153 RID: 8531
[PreserveSig]
int GetTimeOfLastChange(IMoniker pmkObjectName, out FILETIME pfiletime);
/// <summary>Enumerates the objects currently registered as running.</summary>
/// <param name="ppenumMoniker">When this method returns, contains the new enumerator for the Running Object Table (ROT). This parameter is passed uninitialized.</param>
// Token: 0x06002154 RID: 8532
void EnumRunning(out IEnumMoniker ppenumMoniker);
}
}
@@ -0,0 +1,80 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the IStream interface, with ISequentialStream functionality.</summary>
// Token: 0x020002D7 RID: 727
[Guid("0000000c-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface IStream
{
/// <summary>Reads a specified number of bytes from the stream object into memory starting at the current seek pointer.</summary>
/// <param name="pv">When this method returns, contains the data read from the stream. This parameter is passed uninitialized.</param>
/// <param name="cb">The number of bytes to read from the stream object. </param>
/// <param name="pcbRead">A pointer to a ULONG variable that receives the actual number of bytes read from the stream object. </param>
// Token: 0x06002155 RID: 8533
void Read([MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] [Out] byte[] pv, int cb, IntPtr pcbRead);
/// <summary>Writes a specified number of bytes into the stream object starting at the current seek pointer.</summary>
/// <param name="pv">The buffer to write this stream to. </param>
/// <param name="cb">The number of bytes to write to the stream. </param>
/// <param name="pcbWritten">On successful return, contains the actual number of bytes written to the stream object. If the caller sets this pointer to <see cref="F:System.IntPtr.Zero" />, this method does not provide the actual number of bytes written. </param>
// Token: 0x06002156 RID: 8534
void Write([MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] byte[] pv, int cb, IntPtr pcbWritten);
/// <summary>Changes the seek pointer to a new location relative to the beginning of the stream, to the end of the stream, or to the current seek pointer.</summary>
/// <param name="dlibMove">The displacement to add to <paramref name="dwOrigin" />. </param>
/// <param name="dwOrigin">The origin of the seek. The origin can be the beginning of the file, the current seek pointer, or the end of the file. </param>
/// <param name="plibNewPosition">On successful return, contains the offset of the seek pointer from the beginning of the stream. </param>
// Token: 0x06002157 RID: 8535
void Seek(long dlibMove, int dwOrigin, IntPtr plibNewPosition);
/// <summary>Changes the size of the stream object.</summary>
/// <param name="libNewSize">The new size of the stream as a number of bytes. </param>
// Token: 0x06002158 RID: 8536
void SetSize(long libNewSize);
/// <summary>Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.</summary>
/// <param name="pstm">A reference to the destination stream. </param>
/// <param name="cb">The number of bytes to copy from the source stream. </param>
/// <param name="pcbRead">On successful return, contains the actual number of bytes read from the source. </param>
/// <param name="pcbWritten">On successful return, contains the actual number of bytes written to the destination. </param>
// Token: 0x06002159 RID: 8537
void CopyTo(IStream pstm, long cb, IntPtr pcbRead, IntPtr pcbWritten);
/// <summary>Ensures that any changes made to a stream object that is open in transacted mode are reflected in the parent storage.</summary>
/// <param name="grfCommitFlags">A value that controls how the changes for the stream object are committed. </param>
// Token: 0x0600215A RID: 8538
void Commit(int grfCommitFlags);
/// <summary>Discards all changes that have been made to a transacted stream since the last <see cref="M:System.Runtime.InteropServices.ComTypes.IStream.Commit(System.Int32)" /> call.</summary>
// Token: 0x0600215B RID: 8539
void Revert();
/// <summary>Restricts access to a specified range of bytes in the stream.</summary>
/// <param name="libOffset">The byte offset for the beginning of the range. </param>
/// <param name="cb">The length of the range, in bytes, to restrict. </param>
/// <param name="dwLockType">The requested restrictions on accessing the range. </param>
// Token: 0x0600215C RID: 8540
void LockRegion(long libOffset, long cb, int dwLockType);
/// <summary>Removes the access restriction on a range of bytes previously restricted with the <see cref="M:System.Runtime.InteropServices.ComTypes.IStream.LockRegion(System.Int64,System.Int64,System.Int32)" /> method.</summary>
/// <param name="libOffset">The byte offset for the beginning of the range. </param>
/// <param name="cb">The length, in bytes, of the range to restrict. </param>
/// <param name="dwLockType">The access restrictions previously placed on the range. </param>
// Token: 0x0600215D RID: 8541
void UnlockRegion(long libOffset, long cb, int dwLockType);
/// <summary>Retrieves the <see cref="T:System.Runtime.InteropServices.STATSTG" /> structure for this stream.</summary>
/// <param name="pstatstg">When this method returns, contains a STATSTG structure that describes this stream object. This parameter is passed uninitialized.</param>
/// <param name="grfStatFlag">Members in the STATSTG structure that this method does not return, thus saving some memory allocation operations. </param>
// Token: 0x0600215E RID: 8542
void Stat(out STATSTG pstatstg, int grfStatFlag);
/// <summary>Creates a new stream object with its own seek pointer that references the same bytes as the original stream.</summary>
/// <param name="ppstm">When this method returns, contains the new stream object. This parameter is passed uninitialized.</param>
// Token: 0x0600215F RID: 8543
void Clone(out IStream ppstm);
}
}
@@ -0,0 +1,30 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the ITypeComp interface.</summary>
// Token: 0x020002D8 RID: 728
[Guid("00020403-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface ITypeComp
{
/// <summary>Maps a name to a member of a type, or binds global variables and functions contained in a type library.</summary>
/// <param name="szName">The name to bind. </param>
/// <param name="lHashVal">A hash value for <paramref name="szName" /> computed by LHashValOfNameSys. </param>
/// <param name="wFlags">A flags word containing one or more of the invoke flags defined in the INVOKEKIND enumeration. </param>
/// <param name="ppTInfo">When this method returns, contains a reference to the type description that contains the item to which it is bound, if a FUNCDESC or VARDESC was returned. This parameter is passed uninitialized.</param>
/// <param name="pDescKind">When this method returns, contains a reference to a DESCKIND enumerator that indicates whether the name bound-to is a VARDESC, FUNCDESC, or TYPECOMP. This parameter is passed uninitialized.</param>
/// <param name="pBindPtr">When this method returns, contains a reference to the bound-to VARDESC, FUNCDESC, or ITypeComp interface. This parameter is passed uninitialized.</param>
// Token: 0x06002160 RID: 8544
void Bind([MarshalAs(UnmanagedType.LPWStr)] string szName, int lHashVal, short wFlags, out ITypeInfo ppTInfo, out DESCKIND pDescKind, out BINDPTR pBindPtr);
/// <summary>Binds to the type descriptions contained within a type library.</summary>
/// <param name="szName">The name to bind. </param>
/// <param name="lHashVal">A hash value for <paramref name="szName" /> determined by LHashValOfNameSys. </param>
/// <param name="ppTInfo">When this method returns, contains a reference to an ITypeInfo of the type to which <paramref name="szName" /> was bound. This parameter is passed uninitialized.</param>
/// <param name="ppTComp">When this method returns, contains a reference to an ITypeComp variable. This parameter is passed uninitialized.</param>
// Token: 0x06002161 RID: 8545
void BindType([MarshalAs(UnmanagedType.LPWStr)] string szName, int lHashVal, out ITypeInfo ppTInfo, out ITypeComp ppTComp);
}
}
@@ -0,0 +1,140 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the ITypeInfo interface.</summary>
// Token: 0x020002D9 RID: 729
[Guid("00020401-0000-0000-c000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface ITypeInfo
{
/// <summary>Retrieves a <see cref="T:System.Runtime.InteropServices.TYPEATTR" /> structure that contains the attributes of the type description.</summary>
/// <param name="ppTypeAttr">When this method returns, contains a reference to the structure that contains the attributes of this type description. This parameter is passed uninitialized.</param>
// Token: 0x06002162 RID: 8546
void GetTypeAttr(out IntPtr ppTypeAttr);
/// <summary>Retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.</summary>
/// <param name="ppTComp">When this method returns, contains a reference to the ITypeComp interface of the containing type library. This parameter is passed uninitialized.</param>
// Token: 0x06002163 RID: 8547
void GetTypeComp(out ITypeComp ppTComp);
/// <summary>Retrieves the <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure that contains information about a specified function.</summary>
/// <param name="index">The index of the function description to return. </param>
/// <param name="ppFuncDesc">When this method returns, contains a reference to a FUNCDESC structure that describes the specified function. This parameter is passed uninitialized.</param>
// Token: 0x06002164 RID: 8548
void GetFuncDesc(int index, out IntPtr ppFuncDesc);
/// <summary>Retrieves a VARDESC structure that describes the specified variable.</summary>
/// <param name="index">The index of the variable description to return. </param>
/// <param name="ppVarDesc">When this method returns, contains a reference to the VARDESC structure that describes the specified variable. This parameter is passed uninitialized.</param>
// Token: 0x06002165 RID: 8549
void GetVarDesc(int index, out IntPtr ppVarDesc);
/// <summary>Retrieves the variable with the specified member ID (or the name of the property or method and its parameters) that corresponds to the specified function ID.</summary>
/// <param name="memid">The ID of the member whose name (or names) is to be returned. </param>
/// <param name="rgBstrNames">When this method returns, contains the name (or names) associated with the member. This parameter is passed uninitialized.</param>
/// <param name="cMaxNames">The length of the <paramref name="rgBstrNames" /> array. </param>
/// <param name="pcNames">When this method returns, contains the number of names in the <paramref name="rgBstrNames" /> array. This parameter is passed uninitialized.</param>
// Token: 0x06002166 RID: 8550
void GetNames(int memid, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 2)] [Out] string[] rgBstrNames, int cMaxNames, out int pcNames);
/// <summary>Retrieves the type description of the implemented interface types if a type description describes a COM class.</summary>
/// <param name="index">The index of the implemented type whose handle is returned. </param>
/// <param name="href">When this method returns, contains a reference to a handle for the implemented interface. This parameter is passed uninitialized.</param>
// Token: 0x06002167 RID: 8551
void GetRefTypeOfImplType(int index, out int href);
/// <summary>Retrieves the <see cref="T:System.Runtime.InteropServices.IMPLTYPEFLAGS" /> value for one implemented interface or base interface in a type description.</summary>
/// <param name="index">The index of the implemented interface or base interface. </param>
/// <param name="pImplTypeFlags">When this method returns, contains a reference to the IMPLTYPEFLAGS enumeration. This parameter is passed uninitialized.</param>
// Token: 0x06002168 RID: 8552
void GetImplTypeFlags(int index, out IMPLTYPEFLAGS pImplTypeFlags);
/// <summary>Maps between member names and member IDs, and parameter names and parameter IDs.</summary>
/// <param name="rgszNames">An array of names to map. </param>
/// <param name="cNames">The count of names to map. </param>
/// <param name="pMemId">When this method returns, contains a reference to an array in which name mappings are placed. This parameter is passed uninitialized.</param>
// Token: 0x06002169 RID: 8553
void GetIDsOfNames([MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeConst = 0, SizeParamIndex = 1)] [In] string[] rgszNames, int cNames, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] [Out] int[] pMemId);
/// <summary>Invokes a method, or accesses a property of an object, that implements the interface described by the type description.</summary>
/// <param name="pvInstance">A reference to the interface described by this type description. </param>
/// <param name="memid">A value that identifies the interface member. </param>
/// <param name="wFlags">Flags that describe the context of the invoke call. </param>
/// <param name="pDispParams">A reference to a structure that contains an array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array. </param>
/// <param name="pVarResult">A reference to the location at which the result is to be stored. If <paramref name="wFlags" /> specifies DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF, <paramref name="pVarResult" /> is ignored. Set to null if no result is desired. </param>
/// <param name="pExcepInfo">A pointer to an exception information structure, which is filled in only if DISP_E_EXCEPTION is returned. </param>
/// <param name="puArgErr">If Invoke returns DISP_E_TYPEMISMATCH, <paramref name="puArgErr" /> indicates the index within <paramref name="rgvarg" /> of the argument with the incorrect type. If more than one argument returns an error, <paramref name="puArgErr" /> indicates only the first argument with an error. This parameter is passed uninitialized. </param>
// Token: 0x0600216A RID: 8554
void Invoke([MarshalAs(UnmanagedType.IUnknown)] object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, out int puArgErr);
/// <summary>Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description.</summary>
/// <param name="index">The ID of the member whose documentation is to be returned. </param>
/// <param name="strName">When this method returns, contains the name of the item method. This parameter is passed uninitialized.</param>
/// <param name="strDocString">When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized.</param>
/// <param name="dwHelpContext">When this method returns, contains a reference to the Help context associated with the specified item. This parameter is passed uninitialized.</param>
/// <param name="strHelpFile">When this method returns, contains the fully qualified name of the Help file. This parameter is passed uninitialized.</param>
// Token: 0x0600216B RID: 8555
void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
/// <summary>Retrieves a description or specification of an entry point for a function in a DLL.</summary>
/// <param name="memid">The ID of the member function whose DLL entry description is to be returned. </param>
/// <param name="invKind">One of the <see cref="T:System.Runtime.InteropServices.ComTypes.INVOKEKIND" /> values that specifies the kind of member identified by <paramref name="memid" />. </param>
/// <param name="pBstrDllName">If not null, the function sets <paramref name="pBstrDllName" /> to a BSTR that contains the name of the DLL. </param>
/// <param name="pBstrName">If not null, the function sets <paramref name="lpbstrName" /> to a BSTR that contains the name of the entry point. </param>
/// <param name="pwOrdinal">If not null, and the function is defined by an ordinal, then <paramref name="lpwOrdinal" /> is set to point to the ordinal. </param>
// Token: 0x0600216C RID: 8556
void GetDllEntry(int memid, INVOKEKIND invKind, IntPtr pBstrDllName, IntPtr pBstrName, IntPtr pwOrdinal);
/// <summary>Retrieves the referenced type descriptions if a type description references other type descriptions.</summary>
/// <param name="hRef">A handle to the referenced type description to return. </param>
/// <param name="ppTI">When this method returns, contains the referenced type description. This parameter is passed uninitialized.</param>
// Token: 0x0600216D RID: 8557
void GetRefTypeInfo(int hRef, out ITypeInfo ppTI);
/// <summary>Retrieves the addresses of static functions or variables, such as those defined in a DLL.</summary>
/// <param name="memid">The member ID of the static member's address to retrieve. </param>
/// <param name="invKind">One of the <see cref="T:System.Runtime.InteropServices.ComTypes.INVOKEKIND" /> values that specifies whether the member is a property, and if so, what kind. </param>
/// <param name="ppv">When this method returns, contains a reference to the static member. This parameter is passed uninitialized.</param>
// Token: 0x0600216E RID: 8558
void AddressOfMember(int memid, INVOKEKIND invKind, out IntPtr ppv);
/// <summary>Creates a new instance of a type that describes a component class (coclass).</summary>
/// <param name="pUnkOuter">The object that acts as the controlling IUnknown. </param>
/// <param name="riid">The IID of the interface that the caller uses to communicate with the resulting object. </param>
/// <param name="ppvObj">When this method returns, contains a reference to the created object. This parameter is passed uninitialized.</param>
// Token: 0x0600216F RID: 8559
void CreateInstance([MarshalAs(UnmanagedType.IUnknown)] object pUnkOuter, [In] ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out object ppvObj);
/// <summary>Retrieves marshaling information.</summary>
/// <param name="memid">The member ID that indicates which marshaling information is needed. </param>
/// <param name="pBstrMops">When this method returns, contains a reference to the opcode string used in marshaling the fields of the structure described by the referenced type description, or returns null if there is no information to return. This parameter is passed uninitialized.</param>
// Token: 0x06002170 RID: 8560
void GetMops(int memid, out string pBstrMops);
/// <summary>Retrieves the type library that contains this type description and its index within that type library.</summary>
/// <param name="ppTLB">When this method returns, contains a reference to the containing type library. This parameter is passed uninitialized.</param>
/// <param name="pIndex">When this method returns, contains a reference to the index of the type description within the containing type library. This parameter is passed uninitialized.</param>
// Token: 0x06002171 RID: 8561
void GetContainingTypeLib(out ITypeLib ppTLB, out int pIndex);
/// <summary>Releases a <see cref="T:System.Runtime.InteropServices.TYPEATTR" /> structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetTypeAttr(System.IntPtr@)" /> method.</summary>
/// <param name="pTypeAttr">A reference to the TYPEATTR structure to release. </param>
// Token: 0x06002172 RID: 8562
[PreserveSig]
void ReleaseTypeAttr(IntPtr pTypeAttr);
/// <summary>Releases a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetFuncDesc(System.Int32,System.IntPtr@)" /> method.</summary>
/// <param name="pFuncDesc">A reference to the FUNCDESC structure to release. </param>
// Token: 0x06002173 RID: 8563
[PreserveSig]
void ReleaseFuncDesc(IntPtr pFuncDesc);
/// <summary>Releases a VARDESC structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetVarDesc(System.Int32,System.IntPtr@)" /> method.</summary>
/// <param name="pVarDesc">A reference to the VARDESC structure to release. </param>
// Token: 0x06002174 RID: 8564
[PreserveSig]
void ReleaseVarDesc(IntPtr pVarDesc);
}
}
@@ -0,0 +1,237 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the ITypeInfo2 interface.</summary>
// Token: 0x020002DA RID: 730
[Guid("00020412-0000-0000-C000-000000000046")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[ComImport]
public interface ITypeInfo2 : ITypeInfo
{
/// <summary>Retrieves the addresses of static functions or variables, such as those defined in a DLL.</summary>
/// <param name="memid">The member ID of the static member's address to retrieve. </param>
/// <param name="invKind">One of the <see cref="T:System.Runtime.InteropServices.ComTypes.INVOKEKIND" /> values that specifies whether the member is a property, and if so, what kind. </param>
/// <param name="ppv">When this method returns, contains a reference to the static member. This parameter is passed uninitialized.</param>
// Token: 0x06002175 RID: 8565
void AddressOfMember(int memid, INVOKEKIND invKind, out IntPtr ppv);
/// <summary>Creates a new instance of a type that describes a component class (coclass).</summary>
/// <param name="pUnkOuter">An object that acts as the controlling IUnknown. </param>
/// <param name="riid">The IID of the interface that the caller uses to communicate with the resulting object. </param>
/// <param name="ppvObj">When this method returns, contains a reference to the created object. This parameter is passed uninitialized.</param>
// Token: 0x06002176 RID: 8566
void CreateInstance([MarshalAs(UnmanagedType.IUnknown)] object pUnkOuter, [In] ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out object ppvObj);
/// <summary>Retrieves the type library that contains this type description and its index within that type library.</summary>
/// <param name="ppTLB">When this method returns, contains a reference to the containing type library. This parameter is passed uninitialized.</param>
/// <param name="pIndex">When this method returns, contains a reference to the index of the type description within the containing type library. This parameter is passed uninitialized.</param>
// Token: 0x06002177 RID: 8567
void GetContainingTypeLib(out ITypeLib ppTLB, out int pIndex);
/// <summary>Retrieves a description or specification of an entry point for a function in a DLL.</summary>
/// <param name="memid">The ID of the member function whose DLL entry description is to be returned. </param>
/// <param name="invKind">One of the <see cref="T:System.Runtime.InteropServices.ComTypes.INVOKEKIND" /> values that specifies the kind of member identified by <paramref name="memid" />. </param>
/// <param name="pBstrDllName">If not null, the function sets <paramref name="pBstrDllName" /> to a BSTR that contains the name of the DLL. </param>
/// <param name="pBstrName">If not null, the function sets <paramref name="lpbstrName" /> to a BSTR that contains the name of the entry point. </param>
/// <param name="pwOrdinal">If not null, and the function is defined by an ordinal, then <paramref name="lpwOrdinal" /> is set to point to the ordinal. </param>
// Token: 0x06002178 RID: 8568
void GetDllEntry(int memid, INVOKEKIND invKind, IntPtr pBstrDllName, IntPtr pBstrName, IntPtr pwOrdinal);
/// <summary>Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description.</summary>
/// <param name="index">The ID of the member whose documentation is to be returned. </param>
/// <param name="strName">When this method returns, contains the name of the item method. This parameter is passed uninitialized.</param>
/// <param name="strDocString">When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized.</param>
/// <param name="dwHelpContext">When this method returns, contains a reference to the Help context associated with the specified item. This parameter is passed uninitialized.</param>
/// <param name="strHelpFile">When this method returns, contains the fully qualified name of the Help file. This parameter is passed uninitialized.</param>
// Token: 0x06002179 RID: 8569
void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
/// <summary>Maps between member names and member IDs, and parameter names and parameter IDs.</summary>
/// <param name="rgszNames">An array of names to map. </param>
/// <param name="cNames">The count of names to map. </param>
/// <param name="pMemId">When this method returns, contains a reference to an array in which name mappings are placed. This parameter is passed uninitialized.</param>
// Token: 0x0600217A RID: 8570
void GetIDsOfNames([MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeConst = 0, SizeParamIndex = 1)] [In] string[] rgszNames, int cNames, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 1)] [Out] int[] pMemId);
/// <summary>Retrieves the <see cref="T:System.Runtime.InteropServices.IMPLTYPEFLAGS" /> value for one implemented interface or base interface in a type description.</summary>
/// <param name="index">The index of the implemented interface or base interface. </param>
/// <param name="pImplTypeFlags">When this method returns, contains a reference to the IMPLTYPEFLAGS enumeration. This parameter is passed uninitialized.</param>
// Token: 0x0600217B RID: 8571
void GetImplTypeFlags(int index, out IMPLTYPEFLAGS pImplTypeFlags);
/// <summary>Returns the TYPEKIND enumeration quickly, without doing any allocations.</summary>
/// <param name="pTypeKind">When this method returns, contains a reference to a TYPEKIND enumeration. This parameter is passed uninitialized.</param>
// Token: 0x0600217C RID: 8572
void GetTypeKind(out TYPEKIND pTypeKind);
/// <summary>Returns the type flags without any allocations. This method returns a DWORD type flag, which expands the type flags without growing the TYPEATTR (type attribute).</summary>
/// <param name="pTypeFlags">When this method returns, contains a DWORD reference to a TYPEFLAG. This parameter is passed uninitialized.</param>
// Token: 0x0600217D RID: 8573
void GetTypeFlags(out int pTypeFlags);
/// <summary>Retrieves the <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure that contains information about a specified function.</summary>
/// <param name="index">The index of the function description to return. </param>
/// <param name="ppFuncDesc">When this method returns, contains a reference to a FUNCDESC structure that describes the specified function. This parameter is passed uninitialized.</param>
// Token: 0x0600217E RID: 8574
void GetFuncDesc(int index, out IntPtr ppFuncDesc);
/// <summary>Retrieves marshaling information.</summary>
/// <param name="memid">The member ID that indicates which marshaling information is needed. </param>
/// <param name="pBstrMops">When this method returns, contains a reference to the opcode string used in marshaling the fields of the structure described by the referenced type description, or returns null if there is no information to return. This parameter is passed uninitialized.</param>
// Token: 0x0600217F RID: 8575
void GetMops(int memid, out string pBstrMops);
/// <summary>Retrieves the variable with the specified member ID (or the name of the property or method and its parameters) that corresponds to the specified function ID.</summary>
/// <param name="memid">The ID of the member whose name (or names) is to be returned. </param>
/// <param name="rgBstrNames">When this method returns, contains the name (or names) associated with the member. This parameter is passed uninitialized.</param>
/// <param name="cMaxNames">The length of the <paramref name="rgBstrNames" /> array. </param>
/// <param name="pcNames">When this method returns, contains the number of names in the <paramref name="rgBstrNames" /> array. This parameter is passed uninitialized.</param>
// Token: 0x06002180 RID: 8576
void GetNames(int memid, [MarshalAs(UnmanagedType.LPArray, SizeConst = 0, SizeParamIndex = 2)] [Out] string[] rgBstrNames, int cMaxNames, out int pcNames);
/// <summary>Retrieves the referenced type descriptions, if a type description references other type descriptions.</summary>
/// <param name="hRef">A handle to the referenced type description to return. </param>
/// <param name="ppTI">When this method returns, contains the referenced type description. This parameter is passed uninitialized.</param>
// Token: 0x06002181 RID: 8577
void GetRefTypeInfo(int hRef, out ITypeInfo ppTI);
/// <summary>Retrieves the type description of the implemented interface types, if a type description describes a COM class.</summary>
/// <param name="index">The index of the implemented type whose handle is returned. </param>
/// <param name="href">When this method returns, contains a reference to a handle for the implemented interface. This parameter is passed uninitialized.</param>
// Token: 0x06002182 RID: 8578
void GetRefTypeOfImplType(int index, out int href);
/// <summary>Retrieves a <see cref="T:System.Runtime.InteropServices.TYPEATTR" /> structure that contains the attributes of the type description.</summary>
/// <param name="ppTypeAttr">When this method returns, contains a reference to the structure that contains the attributes of this type description. This parameter is passed uninitialized.</param>
// Token: 0x06002183 RID: 8579
void GetTypeAttr(out IntPtr ppTypeAttr);
/// <summary>Retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.</summary>
/// <param name="ppTComp">When this method returns, contains a reference to the ITypeComp of the containing type library. This parameter is passed uninitialized.</param>
// Token: 0x06002184 RID: 8580
void GetTypeComp(out ITypeComp ppTComp);
/// <summary>Retrieves a VARDESC structure that describes the specified variable.</summary>
/// <param name="index">The index of the variable description to return. </param>
/// <param name="ppVarDesc">When this method returns, contains a reference to the VARDESC structure that describes the specified variable. This parameter is passed uninitialized.</param>
// Token: 0x06002185 RID: 8581
void GetVarDesc(int index, out IntPtr ppVarDesc);
/// <summary>Binds to a specific member based on a known DISPID, where the member name is not known (for example, when binding to a default member).</summary>
/// <param name="memid">The member identifier. </param>
/// <param name="invKind">One of the <see cref="T:System.Runtime.InteropServices.ComTypes.INVOKEKIND" /> values that specifies the kind of member identified by memid.</param>
/// <param name="pFuncIndex">When this method returns, contains an index into the function. This parameter is passed uninitialized.</param>
// Token: 0x06002186 RID: 8582
void GetFuncIndexOfMemId(int memid, INVOKEKIND invKind, out int pFuncIndex);
/// <summary>Binds to a specific member based on a known DISPID, where the member name is not known (for example, when binding to a default member).</summary>
/// <param name="memid">The member identifier. </param>
/// <param name="pVarIndex">When this method returns, contains an index of <paramref name="memid" />. This parameter is passed uninitialized.</param>
// Token: 0x06002187 RID: 8583
void GetVarIndexOfMemId(int memid, out int pVarIndex);
/// <summary>Gets the custom data.</summary>
/// <param name="guid">The GUID used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an Object that specifies where to put the retrieved data. This parameter is passed uninitialized.</param>
// Token: 0x06002188 RID: 8584
void GetCustData(ref Guid guid, out object pVarVal);
/// <summary>Gets the custom data from the specified function.</summary>
/// <param name="index">The index of the function to get the custom data for. </param>
/// <param name="guid">The GUID used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an Object that specified where to put the data. This parameter is passed uninitialized.</param>
// Token: 0x06002189 RID: 8585
void GetFuncCustData(int index, ref Guid guid, out object pVarVal);
/// <summary>Gets the specified custom data parameter.</summary>
/// <param name="indexFunc">The index of the function to get the custom data for. </param>
/// <param name="indexParam">The index of the parameter of this function to get the custom data for. </param>
/// <param name="guid">The GUID used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an Object that specifies where to put the retrieved data. This parameter is passed uninitialized.</param>
// Token: 0x0600218A RID: 8586
void GetParamCustData(int indexFunc, int indexParam, ref Guid guid, out object pVarVal);
/// <summary>Gets the variable for the custom data.</summary>
/// <param name="index">The index of the variable to get the custom data for. </param>
/// <param name="guid">The GUID used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an Object that specifies where to put the retrieved data. This parameter is passed uninitialized.</param>
// Token: 0x0600218B RID: 8587
void GetVarCustData(int index, ref Guid guid, out object pVarVal);
/// <summary>Gets the implementation type of the custom data.</summary>
/// <param name="index">The index of the implementation type for the custom data. </param>
/// <param name="guid">The GUID used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an Object that specifies where to put the retrieved data. This parameter is passed uninitialized.</param>
// Token: 0x0600218C RID: 8588
void GetImplTypeCustData(int index, ref Guid guid, out object pVarVal);
/// <summary>Retrieves the documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file.</summary>
/// <param name="memid">The member identifier for the type description. </param>
/// <param name="pbstrHelpString">When this method returns, contains a BSTR that contains the name of the specified item. If the caller does not need the item name, <paramref name="pbstrHelpString" /> can be null. This parameter is passed uninitialized.</param>
/// <param name="pdwHelpStringContext">When this method returns, contains the Help localization context. If the caller does not need the Help context, <paramref name="pdwHelpStringContext" /> can be null. This parameter is passed uninitialized.</param>
/// <param name="pbstrHelpStringDll">When this method returns, contains a BSTR that contains the fully qualified name of the file containing the DLL used for the Help file. If the caller does not need the file name, <paramref name="pbstrHelpStringDll" /> can be null. This parameter is passed uninitialized.</param>
// Token: 0x0600218D RID: 8589
[LCIDConversion(1)]
void GetDocumentation2(int memid, out string pbstrHelpString, out int pdwHelpStringContext, out string pbstrHelpStringDll);
/// <summary>Gets all custom data items for the library.</summary>
/// <param name="pCustData">A pointer to CUSTDATA, which holds all custom data items. </param>
// Token: 0x0600218E RID: 8590
void GetAllCustData(IntPtr pCustData);
/// <summary>Gets all custom data from the specified function.</summary>
/// <param name="index">The index of the function to get the custom data for. </param>
/// <param name="pCustData">A pointer to CUSTDATA, which holds all custom data items. </param>
// Token: 0x0600218F RID: 8591
void GetAllFuncCustData(int index, IntPtr pCustData);
/// <summary>Gets all of the custom data for the specified function parameter.</summary>
/// <param name="indexFunc">The index of the function to get the custom data for. </param>
/// <param name="indexParam">The index of the parameter of this function to get the custom data for. </param>
/// <param name="pCustData">A pointer to CUSTDATA, which holds all custom data items. </param>
// Token: 0x06002190 RID: 8592
void GetAllParamCustData(int indexFunc, int indexParam, IntPtr pCustData);
/// <summary>Gets the variable for the custom data.</summary>
/// <param name="index">The index of the variable to get the custom data for. </param>
/// <param name="pCustData">A pointer to CUSTDATA, which holds all custom data items. </param>
// Token: 0x06002191 RID: 8593
void GetAllVarCustData(int index, IntPtr pCustData);
/// <summary>Gets all custom data for the specified implementation type.</summary>
/// <param name="index">The index of the implementation type for the custom data. </param>
/// <param name="pCustData">A pointer to CUSTDATA which holds all custom data items. </param>
// Token: 0x06002192 RID: 8594
void GetAllImplTypeCustData(int index, IntPtr pCustData);
/// <summary>Invokes a method, or accesses a property of an object, that implements the interface described by the type description.</summary>
/// <param name="pvInstance">A reference to the interface described by this type description. </param>
/// <param name="memid">Identifier of the interface member. </param>
/// <param name="wFlags">Flags describing the context of the invoke call. </param>
/// <param name="pDispParams">A reference to a structure that contains an array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array. </param>
/// <param name="pVarResult">A reference to the location at which the result is to be stored. If <paramref name="wFlags" /> specifies DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF, <paramref name="pVarResult" /> is ignored. Set to null if no result is desired. </param>
/// <param name="pExcepInfo">A pointer to an exception information structure, which is filled in only if DISP_E_EXCEPTION is returned. </param>
/// <param name="puArgErr">If Invoke returns DISP_E_TYPEMISMATCH, <paramref name="puArgErr" /> indicates the index of the argument with incorrect type. If more than one argument returns an error, <paramref name="puArgErr" /> indicates only the first argument with an error. </param>
// Token: 0x06002193 RID: 8595
void Invoke([MarshalAs(UnmanagedType.IUnknown)] object pvInstance, int memid, short wFlags, ref DISPPARAMS pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, out int puArgErr);
/// <summary>Releases a <see cref="T:System.Runtime.InteropServices.TYPEATTR" /> structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetTypeAttr(System.IntPtr@)" /> method.</summary>
/// <param name="pTypeAttr">A reference to the TYPEATTR structure to release. </param>
// Token: 0x06002194 RID: 8596
[PreserveSig]
void ReleaseTypeAttr(IntPtr pTypeAttr);
/// <summary>Releases a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetFuncDesc(System.Int32,System.IntPtr@)" /> method.</summary>
/// <param name="pFuncDesc">A reference to the FUNCDESC structure to release. </param>
// Token: 0x06002195 RID: 8597
[PreserveSig]
void ReleaseFuncDesc(IntPtr pFuncDesc);
/// <summary>Releases a VARDESC structure previously returned by the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeInfo.GetVarDesc(System.Int32,System.IntPtr@)" /> method.</summary>
/// <param name="pVarDesc">A reference to the VARDESC structure to release. </param>
// Token: 0x06002196 RID: 8598
[PreserveSig]
void ReleaseVarDesc(IntPtr pVarDesc);
}
}
@@ -0,0 +1,78 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides the managed definition of the ITypeLib interface.</summary>
// Token: 0x020002DB RID: 731
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("00020402-0000-0000-c000-000000000046")]
[ComImport]
public interface ITypeLib
{
/// <summary>Returns the number of type descriptions in the type library.</summary>
/// <returns>The number of type descriptions in the type library.</returns>
// Token: 0x06002197 RID: 8599
[PreserveSig]
int GetTypeInfoCount();
/// <summary>Retrieves the specified type description in the library.</summary>
/// <param name="index">The index of the ITypeInfo interface to return. </param>
/// <param name="ppTI">When this method returns, contains an ITypeInfo describing the type referenced by <paramref name="index" />. This parameter is passed uninitialized.</param>
// Token: 0x06002198 RID: 8600
void GetTypeInfo(int index, out ITypeInfo ppTI);
/// <summary>Retrieves the type of a type description.</summary>
/// <param name="index">The index of the type description within the type library. </param>
/// <param name="pTKind">When this method returns, contains a reference to the TYPEKIND enumeration for the type description. This parameter is passed uninitialized.</param>
// Token: 0x06002199 RID: 8601
void GetTypeInfoType(int index, out TYPEKIND pTKind);
/// <summary>Retrieves the type description that corresponds to the specified GUID.</summary>
/// <param name="guid">The IID of the interface or CLSID of the class whose type info is requested. </param>
/// <param name="ppTInfo">When this method returns, contains the requested ITypeInfo interface. This parameter is passed uninitialized.</param>
// Token: 0x0600219A RID: 8602
void GetTypeInfoOfGuid(ref Guid guid, out ITypeInfo ppTInfo);
/// <summary>Retrieves the structure that contains the library's attributes.</summary>
/// <param name="ppTLibAttr">When this method returns, contains a structure that contains the library's attributes. This parameter is passed uninitialized.</param>
// Token: 0x0600219B RID: 8603
void GetLibAttr(out IntPtr ppTLibAttr);
/// <summary>Enables a client compiler to bind to a library's types, variables, constants, and global functions.</summary>
/// <param name="ppTComp">When this method returns, contains an instance of a ITypeComp instance for this ITypeLib. This parameter is passed uninitialized. </param>
// Token: 0x0600219C RID: 8604
void GetTypeComp(out ITypeComp ppTComp);
/// <summary>Retrieves the library's documentation string, the complete Help file name and path, and the context identifier for the library Help topic in the Help file.</summary>
/// <param name="index">The index of the type description whose documentation is to be returned. </param>
/// <param name="strName">When this method returns, contains a string that represents the name of the specified item. This parameter is passed uninitialized.</param>
/// <param name="strDocString">When this method returns, contains a string that represents the documentation string for the specified item. This parameter is passed uninitialized.</param>
/// <param name="dwHelpContext">When this method returns, contains the Help context identifier associated with the specified item. This parameter is passed uninitialized.</param>
/// <param name="strHelpFile">When this method returns, contains a string that represents the fully qualified name of the Help file. This parameter is passed uninitialized.</param>
// Token: 0x0600219D RID: 8605
void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
/// <summary>Indicates whether a passed-in string contains the name of a type or member described in the library.</summary>
/// <returns>true if <paramref name="szNameBuf" /> was found in the type library; otherwise, false.</returns>
/// <param name="szNameBuf">The string to test. This is an in/out parameter.</param>
/// <param name="lHashVal">The hash value of <paramref name="szNameBuf" />. </param>
// Token: 0x0600219E RID: 8606
[return: MarshalAs(UnmanagedType.Bool)]
bool IsName([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal);
/// <summary>Finds occurrences of a type description in a type library.</summary>
/// <param name="szNameBuf">The name to search for. This is an in/out parameter.</param>
/// <param name="lHashVal">A hash value to speed up the search, computed by the LHashValOfNameSys function. If <paramref name="lHashVal" /> is 0, a value is computed. </param>
/// <param name="ppTInfo">When this method returns, contains an array of pointers to the type descriptions that contain the name specified in <paramref name="szNameBuf" />. This parameter is passed uninitialized.</param>
/// <param name="rgMemId">An array of the MEMBERID 's of the found items; <paramref name="rgMemId" /> [i] is the MEMBERID that indexes into the type description specified by <paramref name="ppTInfo" /> [i]. Cannot be null. </param>
/// <param name="pcFound">On entry, indicates how many instances to look for. For example, <paramref name="pcFound" /> = 1 can be called to find the first occurrence. The search stops when one instance is found.On exit, indicates the number of instances that were found. If the in and out values of <paramref name="pcFound" /> are identical, there might be more type descriptions that contain the name. </param>
// Token: 0x0600219F RID: 8607
void FindName([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal, [MarshalAs(UnmanagedType.LPArray)] [Out] ITypeInfo[] ppTInfo, [MarshalAs(UnmanagedType.LPArray)] [Out] int[] rgMemId, ref short pcFound);
/// <summary>Releases the <see cref="T:System.Runtime.InteropServices.TYPELIBATTR" /> structure originally obtained from the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeLib.GetLibAttr(System.IntPtr@)" /> method.</summary>
/// <param name="pTLibAttr">The TLIBATTR structure to release. </param>
// Token: 0x060021A0 RID: 8608
[PreserveSig]
void ReleaseTLibAttr(IntPtr pTLibAttr);
}
}
@@ -0,0 +1,104 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Provides a managed definition of the ITypeLib2 interface.</summary>
// Token: 0x020002DC RID: 732
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
[Guid("00020411-0000-0000-C000-000000000046")]
[ComImport]
public interface ITypeLib2 : ITypeLib
{
/// <summary>Finds occurrences of a type description in a type library.</summary>
/// <param name="szNameBuf">The name to search for. </param>
/// <param name="lHashVal">A hash value to speed up the search, computed by the LHashValOfNameSys function. If <paramref name="lHashVal" /> is 0, a value is computed. </param>
/// <param name="ppTInfo">When this method returns, contains an array of pointers to the type descriptions that contain the name specified in <paramref name="szNameBuf" />. This parameter is passed uninitialized. </param>
/// <param name="rgMemId">When this method returns, contains an array of the MEMBERIDs of the found items; <paramref name="rgMemId" /> [i] is the MEMBERID that indexes into the type description specified by <paramref name="ppTInfo" /> [i]. This parameter cannot be null. This parameter is passed uninitialized. </param>
/// <param name="pcFound">On entry, a value, passed by reference, that indicates how many instances to look for. For example, <paramref name="pcFound" /> = 1 can be called to find the first occurrence. The search stops when one instance is found.On exit, indicates the number of instances that were found. If the in and out values of <paramref name="pcFound" /> are identical, there might be more type descriptions that contain the name. </param>
// Token: 0x060021A1 RID: 8609
void FindName([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal, [MarshalAs(UnmanagedType.LPArray)] [Out] ITypeInfo[] ppTInfo, [MarshalAs(UnmanagedType.LPArray)] [Out] int[] rgMemId, ref short pcFound);
/// <summary>Gets the custom data.</summary>
/// <param name="guid">A <see cref="T:System.Guid" /> , passed by reference, that is used to identify the data. </param>
/// <param name="pVarVal">When this method returns, contains an object that specifies where to put the retrieved data. This parameter is passed uninitialized.</param>
// Token: 0x060021A2 RID: 8610
void GetCustData(ref Guid guid, out object pVarVal);
/// <summary>Retrieves the library's documentation string, the complete Help file name and path, and the context identifier for the library Help topic in the Help file.</summary>
/// <param name="index">An index of the type description whose documentation is to be returned. </param>
/// <param name="strName">When this method returns, contains a string that specifies the name of the specified item. This parameter is passed uninitialized. </param>
/// <param name="strDocString">When this method returns, contains the documentation string for the specified item. This parameter is passed uninitialized.</param>
/// <param name="dwHelpContext">When this method returns, contains the Help context identifier associated with the specified item. This parameter is passed uninitialized. </param>
/// <param name="strHelpFile">When this method returns, contains a string that specifies the fully qualified name of the Help file. This parameter is passed uninitialized.</param>
// Token: 0x060021A3 RID: 8611
void GetDocumentation(int index, out string strName, out string strDocString, out int dwHelpContext, out string strHelpFile);
/// <summary>Retrieves the structure that contains the library's attributes.</summary>
/// <param name="ppTLibAttr">When this method returns, contains a structure that contains the library's attributes. This parameter is passed uninitialized. </param>
// Token: 0x060021A4 RID: 8612
void GetLibAttr(out IntPtr ppTLibAttr);
/// <summary>Returns statistics about a type library that are required for efficient sizing of hash tables.</summary>
/// <param name="pcUniqueNames">A pointer to a count of unique names. If the caller does not need this information, set to null. </param>
/// <param name="pcchUniqueNames">When this method returns, contains a pointer to a change in the count of unique names. This parameter is passed uninitialized. </param>
// Token: 0x060021A5 RID: 8613
void GetLibStatistics(IntPtr pcUniqueNames, out int pcchUniqueNames);
/// <summary>Retrieves the library's documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file.</summary>
/// <param name="index">An index of the type description whose documentation is to be returned; if <paramref name="index" /> is -1, the documentation for the library is returned. </param>
/// <param name="pbstrHelpString">When this method returns, contains a BSTR that specifies the name of the specified item. If the caller does not need the item name, <paramref name="pbstrHelpString" /> can be null. This parameter is passed uninitialized. </param>
/// <param name="pdwHelpStringContext">When this method returns, contains the Help localization context. If the caller does not need the Help context, <paramref name="pdwHelpStringContext" /> can be null. This parameter is passed uninitialized. </param>
/// <param name="pbstrHelpStringDll">When this method returns, contains a BSTR that specifies the fully qualified name of the file containing the DLL used for Help file. If the caller does not need the file name, <paramref name="pbstrHelpStringDll" /> can be null. This parameter is passed uninitialized.</param>
// Token: 0x060021A6 RID: 8614
[LCIDConversion(1)]
void GetDocumentation2(int index, out string pbstrHelpString, out int pdwHelpStringContext, out string pbstrHelpStringDll);
/// <summary>Gets all custom data items for the library.</summary>
/// <param name="pCustData">A pointer to CUSTDATA, which holds all custom data items. </param>
// Token: 0x060021A7 RID: 8615
void GetAllCustData(IntPtr pCustData);
/// <summary>Enables a client compiler to bind to a library's types, variables, constants, and global functions.</summary>
/// <param name="ppTComp">When this method returns, contains an ITypeComp instance for this ITypeLib. This parameter is passed uninitialized. </param>
// Token: 0x060021A8 RID: 8616
void GetTypeComp(out ITypeComp ppTComp);
/// <summary>Retrieves the specified type description in the library.</summary>
/// <param name="index">An index of the ITypeInfo interface to return. </param>
/// <param name="ppTI">When this method returns, contains an ITypeInfo describing the type referenced by <paramref name="index" />. This parameter is passed uninitialized. </param>
// Token: 0x060021A9 RID: 8617
void GetTypeInfo(int index, out ITypeInfo ppTI);
/// <summary>Retrieves the type description that corresponds to the specified GUID.</summary>
/// <param name="guid">The <see cref="T:System.Guid" />, passed by reference, that represents the IID of the CLSID interface of the class whose type info is requested. </param>
/// <param name="ppTInfo">When this method returns, contains the requested ITypeInfo interface. This parameter is passed uninitialized.</param>
// Token: 0x060021AA RID: 8618
void GetTypeInfoOfGuid(ref Guid guid, out ITypeInfo ppTInfo);
/// <summary>Retrieves the type of a type description.</summary>
/// <param name="index">The index of the type description within the type library. </param>
/// <param name="pTKind">When this method returns, contains a reference to the TYPEKIND enumeration for the type description. This parameter is passed uninitialized.</param>
// Token: 0x060021AB RID: 8619
void GetTypeInfoType(int index, out TYPEKIND pTKind);
/// <summary>Indicates whether a passed-in string contains the name of a type or member described in the library.</summary>
/// <returns>true if <paramref name="szNameBuf" /> was found in the type library; otherwise, false.</returns>
/// <param name="szNameBuf">The string to test. </param>
/// <param name="lHashVal">The hash value of <paramref name="szNameBuf" />. </param>
// Token: 0x060021AC RID: 8620
[return: MarshalAs(UnmanagedType.Bool)]
bool IsName([MarshalAs(UnmanagedType.LPWStr)] string szNameBuf, int lHashVal);
/// <summary>Releases the <see cref="T:System.Runtime.InteropServices.TYPELIBATTR" /> structure originally obtained from the <see cref="M:System.Runtime.InteropServices.ComTypes.ITypeLib.GetLibAttr(System.IntPtr@)" /> method.</summary>
/// <param name="pTLibAttr">The TLIBATTR structure to release. </param>
// Token: 0x060021AD RID: 8621
[PreserveSig]
void ReleaseTLibAttr(IntPtr pTLibAttr);
/// <summary>Returns the number of type descriptions in the type library.</summary>
/// <returns>The number of type descriptions in the type library.</returns>
// Token: 0x060021AE RID: 8622
[PreserveSig]
int GetTypeInfoCount();
}
}
@@ -0,0 +1,24 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines flags that apply to type libraries.</summary>
// Token: 0x020002DD RID: 733
[Flags]
[Serializable]
public enum LIBFLAGS
{
/// <summary>The type library is restricted, and should not be displayed to users.</summary>
// Token: 0x04000C4A RID: 3146
LIBFLAG_FRESTRICTED = 1,
/// <summary>The type library describes controls and should not be displayed in type browsers intended for nonvisual objects.</summary>
// Token: 0x04000C4B RID: 3147
LIBFLAG_FCONTROL = 2,
/// <summary>The type library should not be displayed to users, although its use is not restricted. The type library should be used by controls. Hosts should create a new type library that wraps the control with extended properties.</summary>
// Token: 0x04000C4C RID: 3148
LIBFLAG_FHIDDEN = 4,
/// <summary>The type library exists in a persisted form on disk.</summary>
// Token: 0x04000C4D RID: 3149
LIBFLAG_FHASDISKIMAGE = 8
}
}
@@ -0,0 +1,18 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains information about how to transfer a structure element, parameter, or function return value between processes.</summary>
// Token: 0x020002DE RID: 734
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct PARAMDESC
{
/// <summary>Represents a pointer to a value that is being passed between processes.</summary>
// Token: 0x04000C4E RID: 3150
public IntPtr lpVarValue;
/// <summary>Represents bitmask values that describe the structure element, parameter, or return value.</summary>
// Token: 0x04000C4F RID: 3151
public PARAMFLAG wParamFlags;
}
}
@@ -0,0 +1,36 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes how to transfer a structure element, parameter, or function return value between processes.</summary>
// Token: 0x020002DF RID: 735
[Flags]
[Serializable]
public enum PARAMFLAG
{
/// <summary>Does not specify whether the parameter passes or receives information.</summary>
// Token: 0x04000C51 RID: 3153
PARAMFLAG_NONE = 0,
/// <summary>The parameter passes information from the caller to the callee.</summary>
// Token: 0x04000C52 RID: 3154
PARAMFLAG_FIN = 1,
/// <summary>The parameter returns information from the callee to the caller.</summary>
// Token: 0x04000C53 RID: 3155
PARAMFLAG_FOUT = 2,
/// <summary>The parameter is the local identifier of a client application.</summary>
// Token: 0x04000C54 RID: 3156
PARAMFLAG_FLCID = 4,
/// <summary>The parameter is the return value of the member.</summary>
// Token: 0x04000C55 RID: 3157
PARAMFLAG_FRETVAL = 8,
/// <summary>The parameter is optional.</summary>
// Token: 0x04000C56 RID: 3158
PARAMFLAG_FOPT = 16,
/// <summary>The parameter has default behaviors defined.</summary>
// Token: 0x04000C57 RID: 3159
PARAMFLAG_FHASDEFAULT = 32,
/// <summary>The parameter has custom data.</summary>
// Token: 0x04000C58 RID: 3160
PARAMFLAG_FHASCUSTDATA = 64
}
}
@@ -0,0 +1,54 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains statistical information about an open storage, stream, or byte-array object.</summary>
// Token: 0x020002E0 RID: 736
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct STATSTG
{
/// <summary>Represents a pointer to a null-terminated string containing the name of the object described by this structure.</summary>
// Token: 0x04000C59 RID: 3161
public string pwcsName;
/// <summary>Indicates the type of storage object, which is one of the values from the STGTY enumeration.</summary>
// Token: 0x04000C5A RID: 3162
public int type;
/// <summary>Specifies the size, in bytes, of the stream or byte array.</summary>
// Token: 0x04000C5B RID: 3163
public long cbSize;
/// <summary>Indicates the last modification time for this storage, stream, or byte array.</summary>
// Token: 0x04000C5C RID: 3164
public FILETIME mtime;
/// <summary>Indicates the creation time for this storage, stream, or byte array.</summary>
// Token: 0x04000C5D RID: 3165
public FILETIME ctime;
/// <summary>Specifies the last access time for this storage, stream, or byte array. </summary>
// Token: 0x04000C5E RID: 3166
public FILETIME atime;
/// <summary>Indicates the access mode that was specified when the object was opened.</summary>
// Token: 0x04000C5F RID: 3167
public int grfMode;
/// <summary>Indicates the types of region locking supported by the stream or byte array.</summary>
// Token: 0x04000C60 RID: 3168
public int grfLocksSupported;
/// <summary>Indicates the class identifier for the storage object.</summary>
// Token: 0x04000C61 RID: 3169
public Guid clsid;
/// <summary>Indicates the current state bits of the storage object (the value most recently set by the IStorage::SetStateBits method).</summary>
// Token: 0x04000C62 RID: 3170
public int grfStateBits;
/// <summary>Reserved for future use.</summary>
// Token: 0x04000C63 RID: 3171
public int reserved;
}
}
@@ -0,0 +1,23 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies the target operating system platform.</summary>
// Token: 0x020002E1 RID: 737
[Serializable]
public enum SYSKIND
{
/// <summary>The target operating system for the type library is 16-bit Windows systems. By default, data fields are packed.</summary>
// Token: 0x04000C65 RID: 3173
SYS_WIN16,
/// <summary>The target operating system for the type library is 32-bit Windows systems. By default, data fields are naturally aligned (for example, 2-byte integers are aligned on even-byte boundaries; 4-byte integers are aligned on quad-word boundaries, and so on).</summary>
// Token: 0x04000C66 RID: 3174
SYS_WIN32,
/// <summary>The target operating system for the type library is Apple Macintosh. By default, all data fields are aligned on even-byte boundaries.</summary>
// Token: 0x04000C67 RID: 3175
SYS_MAC,
/// <summary>The target operating system for the type library is 64-bit Windows systems.</summary>
// Token: 0x04000C68 RID: 3176
SYS_WIN64
}
}
@@ -0,0 +1,86 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Contains attributes of a UCOMITypeInfo.</summary>
// Token: 0x020002E2 RID: 738
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct TYPEATTR
{
/// <summary>A constant used with the <see cref="F:System.Runtime.InteropServices.TYPEATTR.memidConstructor" /> and <see cref="F:System.Runtime.InteropServices.TYPEATTR.memidDestructor" /> fields.</summary>
// Token: 0x04000C69 RID: 3177
public const int MEMBER_ID_NIL = -1;
/// <summary>The GUID of the type information.</summary>
// Token: 0x04000C6A RID: 3178
public Guid guid;
/// <summary>Locale of member names and documentation strings.</summary>
// Token: 0x04000C6B RID: 3179
public int lcid;
/// <summary>Reserved for future use.</summary>
// Token: 0x04000C6C RID: 3180
public int dwReserved;
/// <summary>ID of constructor, or <see cref="F:System.Runtime.InteropServices.TYPEATTR.MEMBER_ID_NIL" /> if none.</summary>
// Token: 0x04000C6D RID: 3181
public int memidConstructor;
/// <summary>ID of destructor, or <see cref="F:System.Runtime.InteropServices.TYPEATTR.MEMBER_ID_NIL" /> if none.</summary>
// Token: 0x04000C6E RID: 3182
public int memidDestructor;
/// <summary>Reserved for future use.</summary>
// Token: 0x04000C6F RID: 3183
public IntPtr lpstrSchema;
/// <summary>The size of an instance of this type.</summary>
// Token: 0x04000C70 RID: 3184
public int cbSizeInstance;
/// <summary>A <see cref="T:System.Runtime.InteropServices.TYPEKIND" /> value describing the type this information describes.</summary>
// Token: 0x04000C71 RID: 3185
public TYPEKIND typekind;
/// <summary>Indicates the number of functions on the interface this structure describes.</summary>
// Token: 0x04000C72 RID: 3186
public short cFuncs;
/// <summary>Indicates the number of variables and data fields on the interface described by this structure.</summary>
// Token: 0x04000C73 RID: 3187
public short cVars;
/// <summary>Indicates the number of implemented interfaces on the interface this structure describes.</summary>
// Token: 0x04000C74 RID: 3188
public short cImplTypes;
/// <summary>The size of this type's virtual method table (VTBL).</summary>
// Token: 0x04000C75 RID: 3189
public short cbSizeVft;
/// <summary>Specifies the byte alignment for an instance of this type.</summary>
// Token: 0x04000C76 RID: 3190
public short cbAlignment;
/// <summary>A <see cref="T:System.Runtime.InteropServices.TYPEFLAGS" /> value describing this information.</summary>
// Token: 0x04000C77 RID: 3191
public TYPEFLAGS wTypeFlags;
/// <summary>Major version number.</summary>
// Token: 0x04000C78 RID: 3192
public short wMajorVerNum;
/// <summary>Minor version number.</summary>
// Token: 0x04000C79 RID: 3193
public short wMinorVerNum;
/// <summary>If <see cref="F:System.Runtime.InteropServices.TYPEATTR.typekind" /> == <see cref="F:System.Runtime.InteropServices.TYPEKIND.TKIND_ALIAS" />, specifies the type for which this type is an alias.</summary>
// Token: 0x04000C7A RID: 3194
public TYPEDESC tdescAlias;
/// <summary>IDL attributes of the described type.</summary>
// Token: 0x04000C7B RID: 3195
public IDLDESC idldescType;
}
}
@@ -0,0 +1,18 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes the type of a variable, return type of a function, or the type of a function parameter.</summary>
// Token: 0x020002E3 RID: 739
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct TYPEDESC
{
/// <summary>If the variable is VT_SAFEARRAY or VT_PTR, the lpValue field contains a pointer to a TYPEDESC that specifies the element type.</summary>
// Token: 0x04000C7C RID: 3196
public IntPtr lpValue;
/// <summary>Indicates the variant type for the item described by this TYPEDESC.</summary>
// Token: 0x04000C7D RID: 3197
public short vt;
}
}
@@ -0,0 +1,57 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines the properties and attributes of a type description.</summary>
// Token: 0x020002E4 RID: 740
[Flags]
[Serializable]
public enum TYPEFLAGS
{
/// <summary>A type description that describes an Application object.</summary>
// Token: 0x04000C7F RID: 3199
TYPEFLAG_FAPPOBJECT = 1,
/// <summary>Instances of the type can be created by ITypeInfo::CreateInstance.</summary>
// Token: 0x04000C80 RID: 3200
TYPEFLAG_FCANCREATE = 2,
/// <summary>The type is licensed.</summary>
// Token: 0x04000C81 RID: 3201
TYPEFLAG_FLICENSED = 4,
/// <summary>The type is predefined. The client application should automatically create a single instance of the object that has this attribute. The name of the variable that points to the object is the same as the class name of the object.</summary>
// Token: 0x04000C82 RID: 3202
TYPEFLAG_FPREDECLID = 8,
/// <summary>The type should not be displayed to browsers.</summary>
// Token: 0x04000C83 RID: 3203
TYPEFLAG_FHIDDEN = 16,
/// <summary>The type is a control from which other types will be derived and should not be displayed to users.</summary>
// Token: 0x04000C84 RID: 3204
TYPEFLAG_FCONTROL = 32,
/// <summary>The interface supplies both IDispatch and VTBL binding.</summary>
// Token: 0x04000C85 RID: 3205
TYPEFLAG_FDUAL = 64,
/// <summary>The interface cannot add members at run time.</summary>
// Token: 0x04000C86 RID: 3206
TYPEFLAG_FNONEXTENSIBLE = 128,
/// <summary>The types used in the interface are fully compatible with Automation, including VTBL binding support. Setting dual on an interface sets both this flag and the <see cref="F:System.Runtime.InteropServices.TYPEFLAGS.TYPEFLAG_FDUAL" />. This flag is not allowed on dispinterfaces.</summary>
// Token: 0x04000C87 RID: 3207
TYPEFLAG_FOLEAUTOMATION = 256,
/// <summary>Should not be accessible from macro languages. This flag is intended for system-level types or types that type browsers should not display.</summary>
// Token: 0x04000C88 RID: 3208
TYPEFLAG_FRESTRICTED = 512,
/// <summary>The class supports aggregation.</summary>
// Token: 0x04000C89 RID: 3209
TYPEFLAG_FAGGREGATABLE = 1024,
/// <summary>The object supports IConnectionPointWithDefault, and has default behaviors.</summary>
// Token: 0x04000C8A RID: 3210
TYPEFLAG_FREPLACEABLE = 2048,
/// <summary>Indicates that the interface derives from IDispatch, either directly or indirectly. This flag is computed; there is no Object Description Language for the flag.</summary>
// Token: 0x04000C8B RID: 3211
TYPEFLAG_FDISPATCHABLE = 4096,
/// <summary>Indicates base interfaces should be checked for name resolution before checking children, which is the reverse of the default behavior.</summary>
// Token: 0x04000C8C RID: 3212
TYPEFLAG_FREVERSEBIND = 8192,
/// <summary>Indicates that the interface will be using a proxy/stub dynamic link library. This flag specifies that the type library proxy should not be unregistered when the type library is unregistered.</summary>
// Token: 0x04000C8D RID: 3213
TYPEFLAG_FPROXY = 16384
}
}
@@ -0,0 +1,38 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Specifies various types of data and functions.</summary>
// Token: 0x020002E5 RID: 741
[Serializable]
public enum TYPEKIND
{
/// <summary>A set of enumerators.</summary>
// Token: 0x04000C8F RID: 3215
TKIND_ENUM,
/// <summary>A structure with no methods.</summary>
// Token: 0x04000C90 RID: 3216
TKIND_RECORD,
/// <summary>A module that can have only static functions and data (for example, a DLL).</summary>
// Token: 0x04000C91 RID: 3217
TKIND_MODULE,
/// <summary>A type that has virtual functions, all of which are pure.</summary>
// Token: 0x04000C92 RID: 3218
TKIND_INTERFACE,
/// <summary>A set of methods and properties that are accessible through IDispatch::Invoke. By default, dual interfaces return TKIND_DISPATCH.</summary>
// Token: 0x04000C93 RID: 3219
TKIND_DISPATCH,
/// <summary>A set of implemented components interfaces.</summary>
// Token: 0x04000C94 RID: 3220
TKIND_COCLASS,
/// <summary>A type that is an alias for another type.</summary>
// Token: 0x04000C95 RID: 3221
TKIND_ALIAS,
/// <summary>A union of all members that have an offset of zero.</summary>
// Token: 0x04000C96 RID: 3222
TKIND_UNION,
/// <summary>End-of-enumeration marker.</summary>
// Token: 0x04000C97 RID: 3223
TKIND_MAX
}
}
@@ -0,0 +1,35 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies a particular type library and provides localization support for member names.</summary>
// Token: 0x020002E6 RID: 742
[Serializable]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct TYPELIBATTR
{
/// <summary>Represents a globally unique library ID of a type library.</summary>
// Token: 0x04000C98 RID: 3224
public Guid guid;
/// <summary>Represents a locale ID of a type library.</summary>
// Token: 0x04000C99 RID: 3225
public int lcid;
/// <summary>Represents the target hardware platform of a type library.</summary>
// Token: 0x04000C9A RID: 3226
public SYSKIND syskind;
/// <summary>Represents the major version number of a type library.</summary>
// Token: 0x04000C9B RID: 3227
public short wMajorVerNum;
/// <summary>Represents the minor version number of a type library.</summary>
// Token: 0x04000C9C RID: 3228
public short wMinorVerNum;
/// <summary>Represents library flags.</summary>
// Token: 0x04000C9D RID: 3229
public LIBFLAGS wLibFlags;
}
}
@@ -0,0 +1,50 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Describes a variable, constant, or data member.</summary>
// Token: 0x020002E7 RID: 743
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct VARDESC
{
/// <summary>Indicates the member ID of a variable.</summary>
// Token: 0x04000C9E RID: 3230
public int memid;
/// <summary>This field is reserved for future use.</summary>
// Token: 0x04000C9F RID: 3231
public string lpstrSchema;
/// <summary>Contains information about a variable.</summary>
// Token: 0x04000CA0 RID: 3232
public VARDESC.DESCUNION desc;
/// <summary>Contains the variable type.</summary>
// Token: 0x04000CA1 RID: 3233
public ELEMDESC elemdescVar;
/// <summary>Defines the properties of a variable.</summary>
// Token: 0x04000CA2 RID: 3234
public short wVarFlags;
/// <summary>Defines how to marshal a variable.</summary>
// Token: 0x04000CA3 RID: 3235
public VARKIND varkind;
/// <summary>Contains information about a variable.</summary>
// Token: 0x020002E8 RID: 744
[StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
public struct DESCUNION
{
/// <summary>Describes a symbolic constant.</summary>
// Token: 0x04000CA4 RID: 3236
[FieldOffset(0)]
public IntPtr lpvarValue;
/// <summary>Indicates the offset of this variable within the instance.</summary>
// Token: 0x04000CA5 RID: 3237
[FieldOffset(0)]
public int oInst;
}
}
}
@@ -0,0 +1,51 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Identifies the constants that define the properties of a variable.</summary>
// Token: 0x020002E9 RID: 745
[Flags]
[Serializable]
public enum VARFLAGS
{
/// <summary>Assignment to the variable should not be allowed.</summary>
// Token: 0x04000CA7 RID: 3239
VARFLAG_FREADONLY = 1,
/// <summary>The variable returns an object that is a source of events.</summary>
// Token: 0x04000CA8 RID: 3240
VARFLAG_FSOURCE = 2,
/// <summary>The variable supports data binding.</summary>
// Token: 0x04000CA9 RID: 3241
VARFLAG_FBINDABLE = 4,
/// <summary>When set, any attempt to directly change the property results in a call to IPropertyNotifySink::OnRequestEdit. The implementation of OnRequestEdit determines if the change is accepted.</summary>
// Token: 0x04000CAA RID: 3242
VARFLAG_FREQUESTEDIT = 8,
/// <summary>The variable is displayed to the user as bindable. <see cref="F:System.Runtime.InteropServices.VARFLAGS.VARFLAG_FBINDABLE" /> must also be set.</summary>
// Token: 0x04000CAB RID: 3243
VARFLAG_FDISPLAYBIND = 16,
/// <summary>The variable is the single property that best represents the object. Only one variable in type information can have this attribute.</summary>
// Token: 0x04000CAC RID: 3244
VARFLAG_FDEFAULTBIND = 32,
/// <summary>The variable should not be displayed to the user in a browser, although it exists and is bindable.</summary>
// Token: 0x04000CAD RID: 3245
VARFLAG_FHIDDEN = 64,
/// <summary>The variable should not be accessible from macro languages. This flag is intended for system-level variables or variables that you do not want type browsers to display.</summary>
// Token: 0x04000CAE RID: 3246
VARFLAG_FRESTRICTED = 128,
/// <summary>Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules.</summary>
// Token: 0x04000CAF RID: 3247
VARFLAG_FDEFAULTCOLLELEM = 256,
/// <summary>The variable is the default display in the user interface.</summary>
// Token: 0x04000CB0 RID: 3248
VARFLAG_FUIDEFAULT = 512,
/// <summary>The variable appears in an object browser, but not in a properties browser.</summary>
// Token: 0x04000CB1 RID: 3249
VARFLAG_FNONBROWSABLE = 1024,
/// <summary>Tags the interface as having default behaviors.</summary>
// Token: 0x04000CB2 RID: 3250
VARFLAG_FREPLACEABLE = 2048,
/// <summary>The variable is mapped as individual bindable properties.</summary>
// Token: 0x04000CB3 RID: 3251
VARFLAG_FIMMEDIATEBIND = 4096
}
}
@@ -0,0 +1,23 @@
using System;
namespace System.Runtime.InteropServices.ComTypes
{
/// <summary>Defines the kind of variable.</summary>
// Token: 0x020002EA RID: 746
[Serializable]
public enum VARKIND
{
/// <summary>The variable is a field or member of the type. It exists at a fixed offset within each instance of the type.</summary>
// Token: 0x04000CB5 RID: 3253
VAR_PERINSTANCE,
/// <summary>There is only one instance of the variable.</summary>
// Token: 0x04000CB6 RID: 3254
VAR_STATIC,
/// <summary>The VARDESC structure describes a symbolic constant. There is no memory associated with it.</summary>
// Token: 0x04000CB7 RID: 3255
VAR_CONST,
/// <summary>The variable can be accessed only through IDispatch::Invoke.</summary>
// Token: 0x04000CB8 RID: 3256
VAR_DISPATCH
}
}
@@ -0,0 +1,12 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the method to call when you unregister an assembly for use from COM; this allows for the execution of user-written code during the unregistration process.</summary>
// Token: 0x02000304 RID: 772
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
public sealed class ComUnregisterFunctionAttribute : Attribute
{
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Controls accessibility of an individual managed type or member, or of all types within an assembly, to COM.</summary>
// Token: 0x0200000D RID: 13
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Interface | AttributeTargets.Delegate, Inherited = false)]
[ComVisible(true)]
public sealed class ComVisibleAttribute : Attribute
{
/// <summary>Initializes a new instance of the ComVisibleAttribute class.</summary>
/// <param name="visibility">true to indicate that the type is visible to COM; otherwise, false. The default is true. </param>
// Token: 0x0600008A RID: 138 RVA: 0x00003554 File Offset: 0x00001754
public ComVisibleAttribute(bool visibility)
{
this.Visible = visibility;
}
/// <summary>Gets a value that indicates whether the COM type is visible.</summary>
/// <returns>true if the type is visible; otherwise, false. The default value is true.</returns>
// Token: 0x17000005 RID: 5
// (get) Token: 0x0600008B RID: 139 RVA: 0x00003564 File Offset: 0x00001764
public bool Value
{
get
{
return this.Visible;
}
}
// Token: 0x04000007 RID: 7
private bool Visible;
}
}
@@ -0,0 +1,133 @@
using System;
using System.Runtime.ConstrainedExecution;
namespace System.Runtime.InteropServices
{
/// <summary>Represents a wrapper class for handle resources.</summary>
// Token: 0x02000305 RID: 773
public abstract class CriticalHandle : CriticalFinalizerObject, IDisposable
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.CriticalHandle" /> class with the specified invalid handle value.</summary>
/// <param name="invalidHandleValue">The value of an invalid handle (usually 0 or -1).</param>
/// <exception cref="T:System.TypeLoadException">The derived class resides in an assembly without unmanaged code access permission.</exception>
// Token: 0x060021E0 RID: 8672 RVA: 0x00079274 File Offset: 0x00077474
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)]
protected CriticalHandle(IntPtr invalidHandleValue)
{
this.handle = invalidHandleValue;
}
/// <summary>Frees all resources associated with the handle.</summary>
// Token: 0x060021E1 RID: 8673 RVA: 0x00079284 File Offset: 0x00077484
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
~CriticalHandle()
{
this.Dispose(false);
}
/// <summary>Marks the handle for releasing and freeing resources.</summary>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x060021E2 RID: 8674 RVA: 0x000792C0 File Offset: 0x000774C0
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void Close()
{
this.Dispose(true);
}
/// <summary>Releases all resources used by the <see cref="T:System.Runtime.InteropServices.CriticalHandle" />. </summary>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x060021E3 RID: 8675 RVA: 0x000792CC File Offset: 0x000774CC
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void Dispose()
{
this.Dispose(true);
}
/// <summary>Releases the unmanaged resources used by the <see cref="T:System.Runtime.InteropServices.CriticalHandle" /> class specifying whether to perform a normal dispose operation.</summary>
/// <param name="disposing">true for a normal dispose operation; false to finalize the handle.</param>
// Token: 0x060021E4 RID: 8676 RVA: 0x000792D8 File Offset: 0x000774D8
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
protected virtual void Dispose(bool disposing)
{
if (this._disposed)
{
return;
}
this._disposed = true;
if (this.IsInvalid)
{
return;
}
if (disposing && !this.IsInvalid && !this.ReleaseHandle())
{
GC.SuppressFinalize(this);
}
}
/// <summary>When overridden in a derived class, executes the code required to free the handle.</summary>
/// <returns>true if the handle is released successfully; otherwise, in the event of a catastrophic failure, false. In this case, it generates a releaseHandleFailed MDA Managed Debugging Assistant.</returns>
// Token: 0x060021E5 RID: 8677
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
protected abstract bool ReleaseHandle();
/// <summary>Sets the handle to the specified pre-existing handle.</summary>
/// <param name="handle">The pre-existing handle to use.</param>
// Token: 0x060021E6 RID: 8678 RVA: 0x0007932C File Offset: 0x0007752C
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
protected void SetHandle(IntPtr handle)
{
this.handle = handle;
}
/// <summary>Marks a handle as invalid.</summary>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x060021E7 RID: 8679 RVA: 0x00079338 File Offset: 0x00077538
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
public void SetHandleAsInvalid()
{
this._disposed = true;
}
/// <summary>Gets a value indicating whether the handle is closed.</summary>
/// <returns>true if the handle is closed; otherwise, false.</returns>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x17000646 RID: 1606
// (get) Token: 0x060021E8 RID: 8680 RVA: 0x00079344 File Offset: 0x00077544
public bool IsClosed
{
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get
{
return this._disposed;
}
}
/// <summary>When overridden in a derived class, gets a value indicating whether the handle value is invalid.</summary>
/// <returns>true if the handle is valid; otherwise, false.</returns>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x17000647 RID: 1607
// (get) Token: 0x060021E9 RID: 8681
public abstract bool IsInvalid
{
[ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
get;
}
/// <summary>Specifies the handle to be wrapped.</summary>
// Token: 0x04000CF7 RID: 3319
protected IntPtr handle;
// Token: 0x04000CF8 RID: 3320
private bool _disposed;
}
}
@@ -0,0 +1,47 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Wraps objects the marshaler should marshal as a VT_CY.</summary>
// Token: 0x02000306 RID: 774
[ComVisible(true)]
[Serializable]
public sealed class CurrencyWrapper
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.CurrencyWrapper" /> class with the Decimal to be wrapped and marshaled as type VT_CY.</summary>
/// <param name="obj">The Decimal to be wrapped and marshaled as VT_CY. </param>
// Token: 0x060021EA RID: 8682 RVA: 0x0007934C File Offset: 0x0007754C
public CurrencyWrapper(decimal obj)
{
this.currency = obj;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.CurrencyWrapper" /> class with the object containing the Decimal to be wrapped and marshaled as type VT_CY.</summary>
/// <param name="obj">The object containing the Decimal to be wrapped and marshaled as VT_CY. </param>
/// <exception cref="T:System.ArgumentException">The <paramref name="obj" /> parameter is not a <see cref="T:System.Decimal" /> type.</exception>
// Token: 0x060021EB RID: 8683 RVA: 0x0007935C File Offset: 0x0007755C
public CurrencyWrapper(object obj)
{
if (obj.GetType() != typeof(decimal))
{
throw new ArgumentException("obj has to be a Decimal type");
}
this.currency = (decimal)obj;
}
/// <summary>Gets the wrapped object to be marshaled as type VT_CY.</summary>
/// <returns>The wrapped object to be marshaled as type VT_CY.</returns>
// Token: 0x17000648 RID: 1608
// (get) Token: 0x060021EC RID: 8684 RVA: 0x0007939C File Offset: 0x0007759C
public decimal WrappedObject
{
get
{
return this.currency;
}
}
// Token: 0x04000CF9 RID: 3321
private decimal currency;
}
}
@@ -0,0 +1,30 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.DESCKIND" /> instead.</summary>
// Token: 0x02000307 RID: 775
[Obsolete]
[Serializable]
public enum DESCKIND
{
/// <summary>Indicates that no match was found.</summary>
// Token: 0x04000CFB RID: 3323
DESCKIND_NONE,
/// <summary>Indicates that a <see cref="T:System.Runtime.InteropServices.FUNCDESC" /> was returned.</summary>
// Token: 0x04000CFC RID: 3324
DESCKIND_FUNCDESC,
/// <summary>Indicates that a VARDESC was returned.</summary>
// Token: 0x04000CFD RID: 3325
DESCKIND_VARDESC,
/// <summary>Indicates that a TYPECOMP was returned.</summary>
// Token: 0x04000CFE RID: 3326
DESCKIND_TYPECOMP,
/// <summary>Indicates that an IMPLICITAPPOBJ was returned.</summary>
// Token: 0x04000CFF RID: 3327
DESCKIND_IMPLICITAPPOBJ,
/// <summary>Indicates an end of enumeration marker.</summary>
// Token: 0x04000D00 RID: 3328
DESCKIND_MAX
}
}
@@ -0,0 +1,27 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.DISPPARAMS" /> instead.</summary>
// Token: 0x02000308 RID: 776
[Obsolete]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct DISPPARAMS
{
/// <summary>Represents a reference to the array of arguments.</summary>
// Token: 0x04000D01 RID: 3329
public IntPtr rgvarg;
/// <summary>Represents the dispatch IDs of named arguments.</summary>
// Token: 0x04000D02 RID: 3330
public IntPtr rgdispidNamedArgs;
/// <summary>Represents the count of arguments.</summary>
// Token: 0x04000D03 RID: 3331
public int cArgs;
/// <summary>Represents the count of named arguments </summary>
// Token: 0x04000D04 RID: 3332
public int cNamedArgs;
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the value of the <see cref="T:System.Runtime.InteropServices.CharSet" /> enumeration. This class cannot be inherited.</summary>
// Token: 0x0200004E RID: 78
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Module, Inherited = false)]
public sealed class DefaultCharSetAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.DefaultCharSetAttribute" /> class with the specified <see cref="T:System.Runtime.InteropServices.CharSet" /> value.</summary>
/// <param name="charSet">One of the <see cref="T:System.Runtime.InteropServices.CharSet" /> values.</param>
// Token: 0x06000674 RID: 1652 RVA: 0x00014BC8 File Offset: 0x00012DC8
public DefaultCharSetAttribute(CharSet charSet)
{
this._set = charSet;
}
/// <summary>Gets the default value of <see cref="T:System.Runtime.InteropServices.CharSet" /> for any call to <see cref="T:System.Runtime.InteropServices.DllImportAttribute" />.</summary>
/// <returns>The default value of <see cref="T:System.Runtime.InteropServices.CharSet" /> for any call to <see cref="T:System.Runtime.InteropServices.DllImportAttribute" />.</returns>
// Token: 0x170000B9 RID: 185
// (get) Token: 0x06000675 RID: 1653 RVA: 0x00014BD8 File Offset: 0x00012DD8
public CharSet CharSet
{
get
{
return this._set;
}
}
// Token: 0x040000A1 RID: 161
private CharSet _set;
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Specifies the COM dispatch identifier (DISPID) of a method, field, or property.</summary>
// Token: 0x02000309 RID: 777
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event, Inherited = false)]
public sealed class DispIdAttribute : Attribute
{
/// <summary>Initializes a new instance of the DispIdAttribute class with the specified DISPID.</summary>
/// <param name="dispId">The DISPID for the member. </param>
// Token: 0x060021ED RID: 8685 RVA: 0x000793A4 File Offset: 0x000775A4
public DispIdAttribute(int dispId)
{
this.id = dispId;
}
/// <summary>Gets the DISPID for the member.</summary>
/// <returns>The DISPID for the member.</returns>
// Token: 0x17000649 RID: 1609
// (get) Token: 0x060021EE RID: 8686 RVA: 0x000793B4 File Offset: 0x000775B4
public int Value
{
get
{
return this.id;
}
}
// Token: 0x04000D05 RID: 3333
private int id;
}
}
@@ -0,0 +1,38 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Wraps objects the marshaler should marshal as a VT_DISPATCH.</summary>
// Token: 0x0200030A RID: 778
[ComVisible(true)]
[Serializable]
public sealed class DispatchWrapper
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.DispatchWrapper" /> class with the object being wrapped.</summary>
/// <param name="obj">The object to be wrapped and converted to <see cref="F:System.Runtime.InteropServices.VarEnum.VT_DISPATCH" />. </param>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="obj" /> is not a class or an array.-or- <paramref name="obj" /> does not support IDispatch. </exception>
/// <exception cref="T:System.InvalidOperationException">The <paramref name="obj" /> parameter was marked with a <see cref="T:System.Runtime.InteropServices.ComVisibleAttribute" /> attribute that was passed a value of false.-or-The <paramref name="obj" /> parameter inherits from a type marked with a <see cref="T:System.Runtime.InteropServices.ComVisibleAttribute" /> attribute that was passed a value of false.</exception>
// Token: 0x060021EF RID: 8687 RVA: 0x000793BC File Offset: 0x000775BC
public DispatchWrapper(object obj)
{
Marshal.GetIDispatchForObject(obj);
this.wrappedObject = obj;
}
/// <summary>Gets the object wrapped by the <see cref="T:System.Runtime.InteropServices.DispatchWrapper" />.</summary>
/// <returns>The object wrapped by the <see cref="T:System.Runtime.InteropServices.DispatchWrapper" />.</returns>
// Token: 0x1700064A RID: 1610
// (get) Token: 0x060021F0 RID: 8688 RVA: 0x000793D4 File Offset: 0x000775D4
public object WrappedObject
{
get
{
return this.wrappedObject;
}
}
// Token: 0x04000D06 RID: 3334
private object wrappedObject;
}
}
@@ -0,0 +1,66 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates that the attributed method is exposed by an unmanaged dynamic-link library (DLL) as a static entry point.</summary>
// Token: 0x02000040 RID: 64
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
[ComVisible(true)]
public sealed class DllImportAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.DllImportAttribute" /> class with the name of the DLL containing the method to import.</summary>
/// <param name="dllName">The name of the DLL that contains the unmanaged method. This can include an assembly display name, if the DLL is included in an assembly.</param>
// Token: 0x06000655 RID: 1621 RVA: 0x00014A78 File Offset: 0x00012C78
public DllImportAttribute(string dllName)
{
this.Dll = dllName;
}
/// <summary>Gets the name of the DLL file that contains the entry point.</summary>
/// <returns>The name of the DLL file that contains the entry point.</returns>
// Token: 0x170000AE RID: 174
// (get) Token: 0x06000656 RID: 1622 RVA: 0x00014A88 File Offset: 0x00012C88
public string Value
{
get
{
return this.Dll;
}
}
/// <summary>Indicates the calling convention of an entry point.</summary>
// Token: 0x04000085 RID: 133
public CallingConvention CallingConvention;
/// <summary>Indicates how to marshal string parameters to the method and controls name mangling.</summary>
// Token: 0x04000086 RID: 134
public CharSet CharSet;
// Token: 0x04000087 RID: 135
private string Dll;
/// <summary>Indicates the name or ordinal of the DLL entry point to be called.</summary>
// Token: 0x04000088 RID: 136
public string EntryPoint;
/// <summary>Controls whether the <see cref="F:System.Runtime.InteropServices.DllImportAttribute.CharSet" /> field causes the common language runtime to search an unmanaged DLL for entry-point names other than the one specified.</summary>
// Token: 0x04000089 RID: 137
public bool ExactSpelling;
/// <summary>Indicates whether unmanaged methods that have HRESULT or retval return values are directly translated or whether HRESULT or retval return values are automatically converted to exceptions.</summary>
// Token: 0x0400008A RID: 138
public bool PreserveSig;
/// <summary>Indicates whether the callee calls the SetLastError Win32 API function before returning from the attributed method.</summary>
// Token: 0x0400008B RID: 139
public bool SetLastError;
/// <summary>Enables or disables best-fit mapping behavior when converting Unicode characters to ANSI characters.</summary>
// Token: 0x0400008C RID: 140
public bool BestFitMapping;
/// <summary>Enables or disables the throwing of an exception on an unmappable Unicode character that is converted to an ANSI "?" character.</summary>
// Token: 0x0400008D RID: 141
public bool ThrowOnUnmappableChar;
}
}
@@ -0,0 +1,36 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.ELEMDESC" /> instead.</summary>
// Token: 0x0200030B RID: 779
[Obsolete]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct ELEMDESC
{
/// <summary>Identifies the type of the element.</summary>
// Token: 0x04000D07 RID: 3335
public TYPEDESC tdesc;
/// <summary>Contains information about an element.</summary>
// Token: 0x04000D08 RID: 3336
public ELEMDESC.DESCUNION desc;
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.ELEMDESC.DESCUNION" /> instead.</summary>
// Token: 0x0200030C RID: 780
[ComVisible(false)]
[StructLayout(LayoutKind.Explicit, CharSet = CharSet.Unicode)]
public struct DESCUNION
{
/// <summary>Contains information for remoting the element.</summary>
// Token: 0x04000D09 RID: 3337
[FieldOffset(0)]
public IDLDESC idldesc;
/// <summary>Contains information about the parameter.</summary>
// Token: 0x04000D0A RID: 3338
[FieldOffset(0)]
public PARAMDESC paramdesc;
}
}
}
@@ -0,0 +1,46 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.EXCEPINFO" /> instead.</summary>
// Token: 0x0200030D RID: 781
[Obsolete]
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct EXCEPINFO
{
/// <summary>Represents an error code identifying the error.</summary>
// Token: 0x04000D0B RID: 3339
public short wCode;
/// <summary>This field is reserved; must be set to 0.</summary>
// Token: 0x04000D0C RID: 3340
public short wReserved;
/// <summary>Indicates the name of the source of the exception. Typically, this is an application name.</summary>
// Token: 0x04000D0D RID: 3341
[MarshalAs(UnmanagedType.BStr)]
public string bstrSource;
/// <summary>Describes the error intended for the customer.</summary>
// Token: 0x04000D0E RID: 3342
[MarshalAs(UnmanagedType.BStr)]
public string bstrDescription;
/// <summary>Contains the fully-qualified drive, path, and file name of a Help file with more information about the error.</summary>
// Token: 0x04000D0F RID: 3343
[MarshalAs(UnmanagedType.BStr)]
public string bstrHelpFile;
/// <summary>Indicates the Help context ID of the topic within the Help file.</summary>
// Token: 0x04000D10 RID: 3344
public int dwHelpContext;
/// <summary>This field is reserved; must be set to null.</summary>
// Token: 0x04000D11 RID: 3345
public IntPtr pvReserved;
/// <summary>Represents a pointer to a function that takes an <see cref="T:System.Runtime.InteropServices.EXCEPINFO" /> structure as an argument and returns an HRESULT value. If deferred fill-in is not desired, this field is set to null.</summary>
// Token: 0x04000D12 RID: 3346
public IntPtr pfnDeferredFillIn;
}
}
@@ -0,0 +1,55 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Wraps objects the marshaler should marshal as a VT_ERROR.</summary>
// Token: 0x0200030E RID: 782
[ComVisible(true)]
[Serializable]
public sealed class ErrorWrapper
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ErrorWrapper" /> class with the HRESULT that corresponds to the exception supplied.</summary>
/// <param name="e">The exception to be converted to an error code. </param>
// Token: 0x060021F1 RID: 8689 RVA: 0x000793DC File Offset: 0x000775DC
public ErrorWrapper(Exception e)
{
this.errorCode = Marshal.GetHRForException(e);
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ErrorWrapper" /> class with the HRESULT of the error.</summary>
/// <param name="errorCode">The HRESULT of the error. </param>
// Token: 0x060021F2 RID: 8690 RVA: 0x000793F0 File Offset: 0x000775F0
public ErrorWrapper(int errorCode)
{
this.errorCode = errorCode;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ErrorWrapper" /> class with an object containing the HRESULT of the error.</summary>
/// <param name="errorCode">The object containing the HRESULT of the error. </param>
/// <exception cref="T:System.ArgumentException">The <paramref name="errorCode" /> parameter is not an <see cref="T:System.Int32" /> type.</exception>
// Token: 0x060021F3 RID: 8691 RVA: 0x00079400 File Offset: 0x00077600
public ErrorWrapper(object errorCode)
{
if (errorCode.GetType() != typeof(int))
{
throw new ArgumentException("errorCode has to be an int type");
}
this.errorCode = (int)errorCode;
}
/// <summary>Gets the error code of the wrapper.</summary>
/// <returns>The HRESULT of the error.</returns>
// Token: 0x1700064B RID: 1611
// (get) Token: 0x060021F4 RID: 8692 RVA: 0x00079440 File Offset: 0x00077640
public int ErrorCode
{
get
{
return this.errorCode;
}
}
// Token: 0x04000D13 RID: 3347
private int errorCode;
}
}
@@ -0,0 +1,40 @@
using System;
using System.Reflection;
namespace System.Runtime.InteropServices.Expando
{
/// <summary>Enables modification of objects by adding and removing members, represented by <see cref="T:System.Reflection.MemberInfo" /> objects.</summary>
// Token: 0x020002EB RID: 747
[Guid("afbf15e6-c37c-11d2-b88e-00a0c9b471b8")]
[ComVisible(true)]
public interface IExpando : IReflect
{
/// <summary>Adds the named field to the Reflection object.</summary>
/// <returns>A <see cref="T:System.Reflection.FieldInfo" /> object representing the added field.</returns>
/// <param name="name">The name of the field. </param>
/// <exception cref="T:System.NotSupportedException">The IExpando object does not support this method. </exception>
// Token: 0x060021AF RID: 8623
FieldInfo AddField(string name);
/// <summary>Adds the named method to the Reflection object.</summary>
/// <returns>A MethodInfo object representing the added method.</returns>
/// <param name="name">The name of the method. </param>
/// <param name="method">The delegate to the method. </param>
/// <exception cref="T:System.NotSupportedException">The IExpando object does not support this method. </exception>
// Token: 0x060021B0 RID: 8624
MethodInfo AddMethod(string name, Delegate method);
/// <summary>Adds the named property to the Reflection object.</summary>
/// <returns>A PropertyInfo object representing the added property.</returns>
/// <param name="name">The name of the property. </param>
/// <exception cref="T:System.NotSupportedException">The IExpando object does not support this method. </exception>
// Token: 0x060021B1 RID: 8625
PropertyInfo AddProperty(string name);
/// <summary>Removes the specified member.</summary>
/// <param name="m">The member to remove. </param>
/// <exception cref="T:System.NotSupportedException">The IExpando object does not support this method. </exception>
// Token: 0x060021B2 RID: 8626
void RemoveMember(MemberInfo m);
}
}
@@ -0,0 +1,21 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Describes the callbacks that the type library exporter makes when exporting a type library.</summary>
// Token: 0x0200030F RID: 783
[ComVisible(true)]
[Serializable]
public enum ExporterEventKind
{
/// <summary>Specifies that the event is invoked when a type has been exported.</summary>
// Token: 0x04000D15 RID: 3349
NOTIF_TYPECONVERTED,
/// <summary>Specifies that the event is invoked when a warning occurs during conversion.</summary>
// Token: 0x04000D16 RID: 3350
NOTIF_CONVERTWARNING,
/// <summary>This value is not supported in this version of the .NET Framework.</summary>
// Token: 0x04000D17 RID: 3351
ERROR_REFTOINVALIDASSEMBLY
}
}
@@ -0,0 +1,48 @@
using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;
namespace System.Runtime.InteropServices
{
/// <summary>Enables customization of managed objects that extend from unmanaged objects during creation.</summary>
// Token: 0x02000310 RID: 784
[ComVisible(true)]
public sealed class ExtensibleClassFactory
{
// Token: 0x060021F5 RID: 8693 RVA: 0x00079448 File Offset: 0x00077648
private ExtensibleClassFactory()
{
}
// Token: 0x060021F7 RID: 8695 RVA: 0x0007945C File Offset: 0x0007765C
internal static ObjectCreationDelegate GetObjectCreationCallback(Type t)
{
return ExtensibleClassFactory.hashtable[t] as ObjectCreationDelegate;
}
/// <summary>Registers a delegate that is called when an instance of a managed type, that extends from an unmanaged type, needs to allocate the aggregated unmanaged object.</summary>
/// <param name="callback">A delegate that is called in place of CoCreateInstance. </param>
// Token: 0x060021F8 RID: 8696 RVA: 0x00079470 File Offset: 0x00077670
public static void RegisterObjectCreationCallback(ObjectCreationDelegate callback)
{
int i = 1;
StackTrace stackTrace = new StackTrace(false);
while (i < stackTrace.FrameCount)
{
StackFrame frame = stackTrace.GetFrame(i);
MethodBase method = frame.GetMethod();
if (method.MemberType == MemberTypes.Constructor && method.IsStatic)
{
ExtensibleClassFactory.hashtable.Add(method.DeclaringType, callback);
return;
}
i++;
}
throw new InvalidOperationException("RegisterObjectCreationCallback must be called from .cctor of class derived from ComImport type.");
}
// Token: 0x04000D18 RID: 3352
private static Hashtable hashtable = new Hashtable();
}
}
@@ -0,0 +1,72 @@
using System;
using System.Runtime.Serialization;
namespace System.Runtime.InteropServices
{
/// <summary>The base exception type for all COM interop exceptions and structured exception handling (SEH) exceptions.</summary>
// Token: 0x02000311 RID: 785
[ComVisible(true)]
[Serializable]
public class ExternalException : SystemException
{
/// <summary>Initializes a new instance of the ExternalException class with default properties.</summary>
// Token: 0x060021F9 RID: 8697 RVA: 0x000794E0 File Offset: 0x000776E0
public ExternalException()
: base(Locale.GetText("External exception"))
{
base.HResult = -2147467259;
}
/// <summary>Initializes a new instance of the ExternalException class with a specified error message.</summary>
/// <param name="message">The error message that specifies the reason for the exception. </param>
// Token: 0x060021FA RID: 8698 RVA: 0x00079500 File Offset: 0x00077700
public ExternalException(string message)
: base(message)
{
base.HResult = -2147467259;
}
/// <summary>Initializes a new instance of the ExternalException class from serialization data.</summary>
/// <param name="info">The object that holds the serialized object data. </param>
/// <param name="context">The contextual information about the source or destination. </param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="info" /> is null. </exception>
// Token: 0x060021FB RID: 8699 RVA: 0x00079514 File Offset: 0x00077714
protected ExternalException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.ExternalException" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.</summary>
/// <param name="message">The error message that explains the reason for the exception. </param>
/// <param name="inner">The exception that is the cause of the current exception. If the <paramref name="inner" /> parameter is not null, the current exception is raised in a catch block that handles the inner exception. </param>
// Token: 0x060021FC RID: 8700 RVA: 0x00079520 File Offset: 0x00077720
public ExternalException(string message, Exception inner)
: base(message, inner)
{
base.HResult = -2147467259;
}
/// <summary>Initializes a new instance of the ExternalException class with a specified error message and the HRESULT of the error.</summary>
/// <param name="message">The error message that specifies the reason for the exception. </param>
/// <param name="errorCode">The HRESULT of the error. </param>
// Token: 0x060021FD RID: 8701 RVA: 0x00079538 File Offset: 0x00077738
public ExternalException(string message, int errorCode)
: base(message)
{
base.HResult = errorCode;
}
/// <summary>Gets the HRESULT of the error.</summary>
/// <returns>The HRESULT of the error.</returns>
// Token: 0x1700064C RID: 1612
// (get) Token: 0x060021FE RID: 8702 RVA: 0x00079548 File Offset: 0x00077748
public virtual int ErrorCode
{
get
{
return base.HResult;
}
}
}
}
@@ -0,0 +1,18 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.FILETIME" /> instead.</summary>
// Token: 0x02000312 RID: 786
[Obsolete]
public struct FILETIME
{
/// <summary>Specifies the low 32 bits of the FILETIME.</summary>
// Token: 0x04000D19 RID: 3353
public int dwLowDateTime;
/// <summary>Specifies the high 32 bits of the FILETIME.</summary>
// Token: 0x04000D1A RID: 3354
public int dwHighDateTime;
}
}
@@ -0,0 +1,58 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.FUNCDESC" /> instead.</summary>
// Token: 0x02000313 RID: 787
[Obsolete]
public struct FUNCDESC
{
/// <summary>Identifies the function member ID.</summary>
// Token: 0x04000D1B RID: 3355
public int memid;
/// <summary>Stores the count of errors a function can return on a 16-bit system.</summary>
// Token: 0x04000D1C RID: 3356
public IntPtr lprgscode;
/// <summary>Indicates the size of <see cref="F:System.Runtime.InteropServices.FUNCDESC.cParams" />.</summary>
// Token: 0x04000D1D RID: 3357
public IntPtr lprgelemdescParam;
/// <summary>Specifies whether the function is virtual, static, or dispatch-only.</summary>
// Token: 0x04000D1E RID: 3358
public FUNCKIND funckind;
/// <summary>Specifies the type of a property function.</summary>
// Token: 0x04000D1F RID: 3359
public INVOKEKIND invkind;
/// <summary>Specifies the calling convention of a function.</summary>
// Token: 0x04000D20 RID: 3360
public CALLCONV callconv;
/// <summary>Counts the total number of parameters.</summary>
// Token: 0x04000D21 RID: 3361
public short cParams;
/// <summary>Counts the optional parameters.</summary>
// Token: 0x04000D22 RID: 3362
public short cParamsOpt;
/// <summary>Specifies the offset in the VTBL for <see cref="F:System.Runtime.InteropServices.FUNCKIND.FUNC_VIRTUAL" />.</summary>
// Token: 0x04000D23 RID: 3363
public short oVft;
/// <summary>Counts the permitted return values.</summary>
// Token: 0x04000D24 RID: 3364
public short cScodes;
/// <summary>Contains the return type of the function.</summary>
// Token: 0x04000D25 RID: 3365
public ELEMDESC elemdescFunc;
/// <summary>Indicates the <see cref="T:System.Runtime.InteropServices.FUNCFLAGS" /> of a function.</summary>
// Token: 0x04000D26 RID: 3366
public short wFuncFlags;
}
}
@@ -0,0 +1,52 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.FUNCFLAGS" /> instead. </summary>
// Token: 0x02000314 RID: 788
[Obsolete]
[Flags]
[Serializable]
public enum FUNCFLAGS
{
/// <summary>The function should not be accessible from macro languages. This flag is intended for system-level functions or functions that type browsers should not display.</summary>
// Token: 0x04000D28 RID: 3368
FUNCFLAG_FRESTRICTED = 1,
/// <summary>The function returns an object that is a source of events.</summary>
// Token: 0x04000D29 RID: 3369
FUNCFLAG_FSOURCE = 2,
/// <summary>The function that supports data binding.</summary>
// Token: 0x04000D2A RID: 3370
FUNCFLAG_FBINDABLE = 4,
/// <summary>When set, any call to a method that sets the property results first in a call to IPropertyNotifySink::OnRequestEdit. The implementation of OnRequestEdit determines if the call is allowed to set the property.</summary>
// Token: 0x04000D2B RID: 3371
FUNCFLAG_FREQUESTEDIT = 8,
/// <summary>The function that is displayed to the user as bindable. <see cref="F:System.Runtime.InteropServices.FUNCFLAGS.FUNCFLAG_FBINDABLE" /> must also be set.</summary>
// Token: 0x04000D2C RID: 3372
FUNCFLAG_FDISPLAYBIND = 16,
/// <summary>The function that best represents the object. Only one function in a type information can have this attribute.</summary>
// Token: 0x04000D2D RID: 3373
FUNCFLAG_FDEFAULTBIND = 32,
/// <summary>The function should not be displayed to the user, although it exists and is bindable.</summary>
// Token: 0x04000D2E RID: 3374
FUNCFLAG_FHIDDEN = 64,
/// <summary>The function supports GetLastError. If an error occurs during the function, the caller can call GetLastError to retrieve the error code.</summary>
// Token: 0x04000D2F RID: 3375
FUNCFLAG_FUSESGETLASTERROR = 128,
/// <summary>Permits an optimization in which the compiler looks for a member named "xyz" on the type of "abc". If such a member is found, and is flagged as an accessor function for an element of the default collection, a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules.</summary>
// Token: 0x04000D30 RID: 3376
FUNCFLAG_FDEFAULTCOLLELEM = 256,
/// <summary>The type information member is the default member for display in the user interface.</summary>
// Token: 0x04000D31 RID: 3377
FUNCFLAG_FUIDEFAULT = 512,
/// <summary>The property appears in an object browser, but not in a properties browser.</summary>
// Token: 0x04000D32 RID: 3378
FUNCFLAG_FNONBROWSABLE = 1024,
/// <summary>Tags the interface as having default behaviors.</summary>
// Token: 0x04000D33 RID: 3379
FUNCFLAG_FREPLACEABLE = 2048,
/// <summary>Mapped as individual bindable properties.</summary>
// Token: 0x04000D34 RID: 3380
FUNCFLAG_FIMMEDIATEBIND = 4096
}
}
@@ -0,0 +1,27 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Use <see cref="T:System.Runtime.InteropServices.ComTypes.FUNCKIND" /> instead.</summary>
// Token: 0x02000315 RID: 789
[Obsolete]
[Serializable]
public enum FUNCKIND
{
/// <summary>The function is accessed the same as <see cref="F:System.Runtime.InteropServices.FUNCKIND.FUNC_PUREVIRTUAL" />, except the function has an implementation.</summary>
// Token: 0x04000D36 RID: 3382
FUNC_VIRTUAL,
/// <summary>The function is accessed through the virtual function table (VTBL), and takes an implicit this pointer.</summary>
// Token: 0x04000D37 RID: 3383
FUNC_PUREVIRTUAL,
/// <summary>The function is accessed by static address and takes an implicit this pointer.</summary>
// Token: 0x04000D38 RID: 3384
FUNC_NONVIRTUAL,
/// <summary>The function is accessed by static address and does not take an implicit this pointer.</summary>
// Token: 0x04000D39 RID: 3385
FUNC_STATIC,
/// <summary>The function can be accessed only through IDispatch.</summary>
// Token: 0x04000D3A RID: 3386
FUNC_DISPATCH
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Indicates the physical position of fields within the unmanaged representation of a class or structure.</summary>
// Token: 0x02000059 RID: 89
[AttributeUsage(AttributeTargets.Field, Inherited = false)]
[ComVisible(true)]
public sealed class FieldOffsetAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.FieldOffsetAttribute" /> class with the offset in the structure to the beginning of the field.</summary>
/// <param name="offset">The offset, in bytes, from the beginning of the structure to the beginning of the field. </param>
// Token: 0x0600068D RID: 1677 RVA: 0x00014D90 File Offset: 0x00012F90
public FieldOffsetAttribute(int offset)
{
this.val = offset;
}
/// <summary>Gets the offset from the beginning of the structure to the beginning of the field.</summary>
/// <returns>The offset from the beginning of the structure to the beginning of the field.</returns>
// Token: 0x170000C3 RID: 195
// (get) Token: 0x0600068E RID: 1678 RVA: 0x00014DA0 File Offset: 0x00012FA0
public int Value
{
get
{
return this.val;
}
}
// Token: 0x040000B2 RID: 178
private int val;
}
}
@@ -0,0 +1,242 @@
using System;
using System.Runtime.CompilerServices;
namespace System.Runtime.InteropServices
{
/// <summary>Provides a means for accessing a managed object from unmanaged memory.</summary>
// Token: 0x02000316 RID: 790
[ComVisible(true)]
[MonoTODO("Struct should be [StructLayout(LayoutKind.Sequential)] but will need to be reordered for that.")]
public struct GCHandle
{
// Token: 0x060021FF RID: 8703 RVA: 0x00079550 File Offset: 0x00077750
private GCHandle(IntPtr h)
{
this.handle = (int)h;
}
// Token: 0x06002200 RID: 8704 RVA: 0x00079560 File Offset: 0x00077760
private GCHandle(object obj)
{
this = new GCHandle(obj, GCHandleType.Normal);
}
// Token: 0x06002201 RID: 8705 RVA: 0x0007956C File Offset: 0x0007776C
private GCHandle(object value, GCHandleType type)
{
if (type < GCHandleType.Weak || type > GCHandleType.Pinned)
{
type = GCHandleType.Normal;
}
this.handle = GCHandle.GetTargetHandle(value, 0, type);
}
/// <summary>Gets a value indicating whether the handle is allocated.</summary>
/// <returns>true if the handle is allocated; otherwise, false.</returns>
// Token: 0x1700064D RID: 1613
// (get) Token: 0x06002202 RID: 8706 RVA: 0x00079590 File Offset: 0x00077790
public bool IsAllocated
{
get
{
return this.handle != 0;
}
}
/// <summary>Gets or sets the object this handle represents.</summary>
/// <returns>The object this handle represents.</returns>
/// <exception cref="T:System.InvalidOperationException">The handle was freed, or never initialized. </exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x1700064E RID: 1614
// (get) Token: 0x06002203 RID: 8707 RVA: 0x000795A0 File Offset: 0x000777A0
// (set) Token: 0x06002204 RID: 8708 RVA: 0x000795D4 File Offset: 0x000777D4
public object Target
{
get
{
if (!this.IsAllocated)
{
throw new InvalidOperationException(Locale.GetText("Handle is not allocated"));
}
return GCHandle.GetTarget(this.handle);
}
set
{
this.handle = GCHandle.GetTargetHandle(value, this.handle, (GCHandleType)(-1));
}
}
/// <summary>Retrieves the address of an object in a <see cref="F:System.Runtime.InteropServices.GCHandleType.Pinned" /> handle.</summary>
/// <returns>The address of the of the Pinned object as an <see cref="T:System.IntPtr" />.</returns>
/// <exception cref="T:System.InvalidOperationException">The handle is any type other than <see cref="F:System.Runtime.InteropServices.GCHandleType.Pinned" />. </exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002205 RID: 8709 RVA: 0x000795EC File Offset: 0x000777EC
public IntPtr AddrOfPinnedObject()
{
IntPtr addrOfPinnedObject = GCHandle.GetAddrOfPinnedObject(this.handle);
if (addrOfPinnedObject == (IntPtr)(-1))
{
throw new ArgumentException("Object contains non-primitive or non-blittable data.");
}
if (addrOfPinnedObject == (IntPtr)(-2))
{
throw new InvalidOperationException("Handle is not pinned.");
}
return addrOfPinnedObject;
}
/// <summary>Allocates a <see cref="F:System.Runtime.InteropServices.GCHandleType.Normal" /> handle for the specified object.</summary>
/// <returns>A new <see cref="T:System.Runtime.InteropServices.GCHandle" /> that protects the object from garbage collection. This <see cref="T:System.Runtime.InteropServices.GCHandle" /> must be released with <see cref="M:System.Runtime.InteropServices.GCHandle.Free" /> when it is no longer needed.</returns>
/// <param name="value">The object that uses the <see cref="T:System.Runtime.InteropServices.GCHandle" />. </param>
/// <exception cref="T:System.ArgumentException">An instance with nonprimitive (non-blittable) members cannot be pinned. </exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002206 RID: 8710 RVA: 0x00079640 File Offset: 0x00077840
public static GCHandle Alloc(object value)
{
return new GCHandle(value);
}
/// <summary>Allocates a handle of the specified type for the specified object.</summary>
/// <returns>A new <see cref="T:System.Runtime.InteropServices.GCHandle" /> of the specified type. This <see cref="T:System.Runtime.InteropServices.GCHandle" /> must be released with <see cref="M:System.Runtime.InteropServices.GCHandle.Free" /> when it is no longer needed.</returns>
/// <param name="value">The object that uses the <see cref="T:System.Runtime.InteropServices.GCHandle" />. </param>
/// <param name="type">One of the <see cref="T:System.Runtime.InteropServices.GCHandleType" /> values, indicating the type of <see cref="T:System.Runtime.InteropServices.GCHandle" /> to create. </param>
/// <exception cref="T:System.ArgumentException">An instance with nonprimitive (non-blittable) members cannot be pinned. </exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002207 RID: 8711 RVA: 0x00079648 File Offset: 0x00077848
public static GCHandle Alloc(object value, GCHandleType type)
{
return new GCHandle(value, type);
}
/// <summary>Releases a <see cref="T:System.Runtime.InteropServices.GCHandle" />.</summary>
/// <exception cref="T:System.InvalidOperationException">The handle was freed or never initialized. </exception>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002208 RID: 8712 RVA: 0x00079654 File Offset: 0x00077854
public void Free()
{
GCHandle.FreeHandle(this.handle);
this.handle = 0;
}
// Token: 0x06002209 RID: 8713
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool CheckCurrentDomain(int handle);
// Token: 0x0600220A RID: 8714
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern object GetTarget(int handle);
// Token: 0x0600220B RID: 8715
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern int GetTargetHandle(object obj, int handle, GCHandleType type);
// Token: 0x0600220C RID: 8716
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern void FreeHandle(int handle);
// Token: 0x0600220D RID: 8717
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern IntPtr GetAddrOfPinnedObject(int handle);
/// <summary>Determines whether the specified <see cref="T:System.Runtime.InteropServices.GCHandle" /> object is equal to the current <see cref="T:System.Runtime.InteropServices.GCHandle" /> object.</summary>
/// <returns>true if the specified <see cref="T:System.Runtime.InteropServices.GCHandle" /> object is equal to the current <see cref="T:System.Runtime.InteropServices.GCHandle" /> object; otherwise, false.</returns>
/// <param name="o">The <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to compare with the current <see cref="T:System.Runtime.InteropServices.GCHandle" /> object.</param>
// Token: 0x0600220E RID: 8718 RVA: 0x00079668 File Offset: 0x00077868
public override bool Equals(object o)
{
return o != null && o is GCHandle && this.handle == ((GCHandle)o).handle;
}
/// <summary>Returns an identifier for the current <see cref="T:System.Runtime.InteropServices.GCHandle" /> object.</summary>
/// <returns>An identifier for the current <see cref="T:System.Runtime.InteropServices.GCHandle" /> object.</returns>
// Token: 0x0600220F RID: 8719 RVA: 0x000796A0 File Offset: 0x000778A0
public override int GetHashCode()
{
return this.handle.GetHashCode();
}
/// <summary>Returns a new <see cref="T:System.Runtime.InteropServices.GCHandle" /> object created from a handle to a managed object.</summary>
/// <returns>A new <see cref="T:System.Runtime.InteropServices.GCHandle" /> object that corresponds to the value parameter. </returns>
/// <param name="value">An <see cref="T:System.IntPtr" /> handle to a managed object to create a <see cref="T:System.Runtime.InteropServices.GCHandle" /> object from.</param>
/// <exception cref="T:System.InvalidOperationException">The value of the <paramref name="value" /> parameter is <see cref="F:System.IntPtr.Zero" />.</exception>
// Token: 0x06002210 RID: 8720 RVA: 0x000796B0 File Offset: 0x000778B0
public static GCHandle FromIntPtr(IntPtr value)
{
return (GCHandle)value;
}
/// <summary>Returns the internal integer representation of a <see cref="T:System.Runtime.InteropServices.GCHandle" /> object.</summary>
/// <returns>An <see cref="T:System.IntPtr" /> object that represents a <see cref="T:System.Runtime.InteropServices.GCHandle" /> object. </returns>
/// <param name="value">A <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to retrieve an internal integer representation from.</param>
// Token: 0x06002211 RID: 8721 RVA: 0x000796B8 File Offset: 0x000778B8
public static IntPtr ToIntPtr(GCHandle value)
{
return (IntPtr)value;
}
/// <summary>A <see cref="T:System.Runtime.InteropServices.GCHandle" /> is stored using an internal integer representation.</summary>
/// <returns>The integer value.</returns>
/// <param name="value">The <see cref="T:System.Runtime.InteropServices.GCHandle" /> for which the integer is required. </param>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002212 RID: 8722 RVA: 0x000796C0 File Offset: 0x000778C0
public static explicit operator IntPtr(GCHandle value)
{
return (IntPtr)value.handle;
}
/// <summary>A <see cref="T:System.Runtime.InteropServices.GCHandle" /> is stored using an internal integer representation.</summary>
/// <returns>The <see cref="T:System.Runtime.InteropServices.GCHandle" />.</returns>
/// <param name="value">An <see cref="T:System.IntPtr" /> that indicates the handle for which the conversion is required. </param>
/// <PermissionSet>
/// <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode" />
/// </PermissionSet>
// Token: 0x06002213 RID: 8723 RVA: 0x000796D0 File Offset: 0x000778D0
public static explicit operator GCHandle(IntPtr value)
{
if (value == IntPtr.Zero)
{
throw new ArgumentException("GCHandle value cannot be zero");
}
if (!GCHandle.CheckCurrentDomain((int)value))
{
throw new ArgumentException("GCHandle value belongs to a different domain");
}
return new GCHandle(value);
}
/// <summary>Returns a value indicating whether two <see cref="T:System.Runtime.InteropServices.GCHandle" /> objects are equal.</summary>
/// <returns>true if the <paramref name="a" /> and <paramref name="b" /> parameters are equal; otherwise, false.</returns>
/// <param name="a">A <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to compare with the <paramref name="b" /> parameter. </param>
/// <param name="b">A <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to compare with the <paramref name="a" /> parameter. </param>
// Token: 0x06002214 RID: 8724 RVA: 0x0007971C File Offset: 0x0007791C
public static bool operator ==(GCHandle a, GCHandle b)
{
return a.Equals(b);
}
/// <summary>Returns a value indicating whether two <see cref="T:System.Runtime.InteropServices.GCHandle" /> objects are not equal.</summary>
/// <returns>true if the <paramref name="a" /> and <paramref name="b" /> parameters are not equal; otherwise, false.</returns>
/// <param name="a">A <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to compare with the <paramref name="b" /> parameter. </param>
/// <param name="b">A <see cref="T:System.Runtime.InteropServices.GCHandle" /> object to compare with the <paramref name="a" /> parameter. </param>
// Token: 0x06002215 RID: 8725 RVA: 0x0007972C File Offset: 0x0007792C
public static bool operator !=(GCHandle a, GCHandle b)
{
return !a.Equals(b);
}
// Token: 0x04000D3B RID: 3387
private int handle;
}
}
@@ -0,0 +1,24 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Represents the types of handles the <see cref="T:System.Runtime.InteropServices.GCHandle" /> class can allocate.</summary>
// Token: 0x02000317 RID: 791
[ComVisible(true)]
[Serializable]
public enum GCHandleType
{
/// <summary>This handle type is used to track an object, but allow it to be collected. When an object is collected, the contents of the <see cref="T:System.Runtime.InteropServices.GCHandle" /> are zeroed. Weak references are zeroed before the finalizer runs, so even if the finalizer resurrects the object, the Weak reference is still zeroed.</summary>
// Token: 0x04000D3D RID: 3389
Weak,
/// <summary>This handle type is similar to <see cref="F:System.Runtime.InteropServices.GCHandleType.Weak" />, but the handle is not zeroed if the object is resurrected during finalization.</summary>
// Token: 0x04000D3E RID: 3390
WeakTrackResurrection,
/// <summary>This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. You can use this type to track an object and prevent its collection by the garbage collector. This enumeration member is useful when an unmanaged client holds the only reference, which is undetectable from the garbage collector, to a managed object.</summary>
// Token: 0x04000D3F RID: 3391
Normal,
/// <summary>This handle type is similar to <see cref="F:System.Runtime.InteropServices.GCHandleType.Normal" />, but allows the address of the pinned object to be taken. This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Use the <see cref="M:System.Runtime.InteropServices.GCHandle.Free" /> method to free the allocated handle as soon as possible.</summary>
// Token: 0x04000D40 RID: 3392
Pinned
}
}
@@ -0,0 +1,34 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Supplies an explicit <see cref="T:System.Guid" /> when an automatic GUID is undesirable.</summary>
// Token: 0x02000048 RID: 72
[ComVisible(true)]
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Interface | AttributeTargets.Delegate, Inherited = false)]
public sealed class GuidAttribute : Attribute
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.GuidAttribute" /> class with the specified GUID.</summary>
/// <param name="guid">The <see cref="T:System.Guid" /> to be assigned. </param>
// Token: 0x0600066A RID: 1642 RVA: 0x00014B58 File Offset: 0x00012D58
public GuidAttribute(string guid)
{
this.guidValue = guid;
}
/// <summary>Gets the <see cref="T:System.Guid" /> of the class.</summary>
/// <returns>The <see cref="T:System.Guid" /> of the class.</returns>
// Token: 0x170000B5 RID: 181
// (get) Token: 0x0600066B RID: 1643 RVA: 0x00014B68 File Offset: 0x00012D68
public string Value
{
get
{
return this.guidValue;
}
}
// Token: 0x0400009D RID: 157
private string guidValue;
}
}
@@ -0,0 +1,68 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Wraps a managed object holding a handle to a resource that is passed to unmanaged code using platform invoke.</summary>
// Token: 0x02000318 RID: 792
[ComVisible(true)]
public struct HandleRef
{
/// <summary>Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.HandleRef" /> class with the object to wrap and a handle to the resource used by unmanaged code.</summary>
/// <param name="wrapper">A managed object that should not be finalized until the platform invoke call returns. </param>
/// <param name="handle">An <see cref="T:System.IntPtr" /> that indicates a handle to a resource. </param>
// Token: 0x06002216 RID: 8726 RVA: 0x00079740 File Offset: 0x00077940
public HandleRef(object wrapper, IntPtr handle)
{
this.wrapper = wrapper;
this.handle = handle;
}
/// <summary>Gets the handle to a resource.</summary>
/// <returns>The handle to a resource.</returns>
// Token: 0x1700064F RID: 1615
// (get) Token: 0x06002217 RID: 8727 RVA: 0x00079750 File Offset: 0x00077950
public IntPtr Handle
{
get
{
return this.handle;
}
}
/// <summary>Gets the object holding the handle to a resource.</summary>
/// <returns>The object holding the handle to a resource.</returns>
// Token: 0x17000650 RID: 1616
// (get) Token: 0x06002218 RID: 8728 RVA: 0x00079758 File Offset: 0x00077958
public object Wrapper
{
get
{
return this.wrapper;
}
}
/// <summary>Returns the internal integer representation of a <see cref="T:System.Runtime.InteropServices.HandleRef" /> object.</summary>
/// <returns>An <see cref="T:System.IntPtr" /> object that represents a <see cref="T:System.Runtime.InteropServices.HandleRef" /> object.</returns>
/// <param name="value">A <see cref="T:System.Runtime.InteropServices.HandleRef" /> object to retrieve an internal integer representation from.</param>
// Token: 0x06002219 RID: 8729 RVA: 0x00079760 File Offset: 0x00077960
public static IntPtr ToIntPtr(HandleRef value)
{
return value.Handle;
}
/// <summary>Returns the handle to a resource of the specified <see cref="T:System.Runtime.InteropServices.HandleRef" /> object.</summary>
/// <returns>The handle to a resource of the specified <see cref="T:System.Runtime.InteropServices.HandleRef" /> object.</returns>
/// <param name="value">The object that needs a handle. </param>
// Token: 0x0600221A RID: 8730 RVA: 0x0007976C File Offset: 0x0007796C
public static explicit operator IntPtr(HandleRef value)
{
return value.Handle;
}
// Token: 0x04000D41 RID: 3393
private object wrapper;
// Token: 0x04000D42 RID: 3394
private IntPtr handle;
}
}
@@ -0,0 +1,16 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Provides a way for clients to access the actual object, rather than the adapter object handed out by a custom marshaler.</summary>
// Token: 0x02000319 RID: 793
[ComVisible(true)]
public interface ICustomAdapter
{
/// <summary>Provides access to the underlying object wrapped by a custom marshaler.</summary>
/// <returns>The object contained by the adapter object.</returns>
// Token: 0x0600221B RID: 8731
[return: MarshalAs(UnmanagedType.IUnknown)]
object GetUnderlyingObject();
}
}
@@ -0,0 +1,16 @@
using System;
namespace System.Runtime.InteropServices
{
/// <summary>Enables users to write activation code for managed objects that extend <see cref="T:System.MarshalByRefObject" />.</summary>
// Token: 0x0200031A RID: 794
[ComVisible(true)]
public interface ICustomFactory
{
/// <summary>Creates a new instance of the specified type.</summary>
/// <returns>A <see cref="T:System.MarshalByRefObject" /> associated with the specified type.</returns>
/// <param name="serverType">The type to activate. </param>
// Token: 0x0600221C RID: 8732
MarshalByRefObject CreateInstance(Type serverType);
}
}

Some files were not shown because too many files have changed in this diff Show More