Silverlight 5 WinRT

public sealed class AllowReversePInvokeCallsAttribute public sealed class AllowReversePInvokeCallsAttribute
: Attribute, _Attribute : Attribute, _Attribute

  public sealed struct ArrayWithOffset
  : ValueType
  public virtual Boolean Equals(Object obj);
  public Boolean Equals(ArrayWithOffset obj);
  public Object GetArray();
  public virtual Int32 GetHashCode();
  public Int32 GetOffset();
  static public Boolean op_Equality(ArrayWithOffset a, ArrayWithOffset b);
  static public Boolean op_Inequality(ArrayWithOffset a, ArrayWithOffset b);

  public sealed enum AssemblyRegistrationFlags
  : IComparable, IFormattable, IConvertible
  { None, SetCodeBase }

  public sealed class AutomationProxyAttribute
  : Attribute, _Attribute
  public Boolean Value { get; }

  public sealed class BestFitMappingAttribute
  : Attribute, _Attribute
  public Boolean BestFitMapping { get; }

  public sealed struct BINDPTR
  : ValueType

  public sealed class BStrWrapper
 
  public String WrappedObject { get; }

  public sealed enum CALLCONV
  : IComparable, IFormattable, IConvertible
  { CC_CDECL, CC_MSCPASCAL, CC_PASCAL, CC_MACPASCAL, CC_STDCALL, CC_RESERVED, CC_SYSCALL, CC_MPWCDECL, CC_MPWPASCAL, CC_MAX }

public sealed enum CallingConvention public sealed enum CallingConvention
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Winapi, Cdecl, StdCall, ThisCall, FastCall } { Winapi, Cdecl, StdCall, ThisCall, FastCall }

public sealed enum CharSet public sealed enum CharSet
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ None, Ansi, Unicode, Auto } { None, Ansi, Unicode, Auto }

public sealed class ClassInterfaceAttribute public sealed class ClassInterfaceAttribute
: Attribute, _Attribute : Attribute, _Attribute
public ClassInterfaceType Value { get; } public ClassInterfaceType Value { get; }

public sealed enum ClassInterfaceType public sealed enum ClassInterfaceType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ None, AutoDispatch, AutoDual } { None, AutoDispatch, AutoDual }

public sealed class CoClassAttribute public sealed class CoClassAttribute
: Attribute, _Attribute : Attribute, _Attribute
public Type CoClass { get; } public Type CoClass { get; }

  public sealed class ComAliasNameAttribute
  : Attribute, _Attribute
  public String Value { get; }

  public class ComAwareEventInfo
  : EventInfo, ICustomAttributeProvider, _MemberInfo, _EventInfo
  public virtual EventAttributes Attributes { get; }
  public virtual Type DeclaringType { get; }
  public virtual String Name { get; }
  public virtual Type ReflectedType { get; }
  public virtual void AddEventHandler(Object target, Delegate handler);
  public virtual MethodInfo GetAddMethod(Boolean nonPublic);
  public virtual Object GetCustomAttributes(Type attributeType, Boolean inherit);
  public virtual Object GetCustomAttributes(Boolean inherit);
  public virtual MethodInfo GetRaiseMethod(Boolean nonPublic);
  public virtual MethodInfo GetRemoveMethod(Boolean nonPublic);
  public virtual Boolean IsDefined(Type attributeType, Boolean inherit);
  public virtual void RemoveEventHandler(Object target, Delegate handler);

  public sealed class ComCompatibleVersionAttribute
  : Attribute, _Attribute
  public Int32 BuildNumber { get; }
  public Int32 MajorVersion { get; }
  public Int32 MinorVersion { get; }
  public Int32 RevisionNumber { get; }

  public sealed class ComConversionLossAttribute
  : Attribute, _Attribute

public sealed class ComDefaultInterfaceAttribute public sealed class ComDefaultInterfaceAttribute
: Attribute, _Attribute : Attribute, _Attribute
public Type Value { get; } public Type Value { get; }

  public sealed class ComEventInterfaceAttribute
  : Attribute, _Attribute
  public Type EventProvider { get; }
  public Type SourceInterface { get; }

  public abstract sealed class ComEventsHelper
 
  static public void Combine(Object rcw, Guid iid, Int32 dispid, Delegate d);
  static public Delegate Remove(Object rcw, Guid iid, Int32 dispid, Delegate d);

public class COMException public class COMException
: ExternalException, _Exception : ExternalException, ISerializable, _Exception
public virtual String ToString(); public virtual String ToString();

public sealed class ComImportAttribute public sealed class ComImportAttribute
: Attribute, _Attribute : Attribute, _Attribute

public sealed enum ComInterfaceType public sealed enum ComInterfaceType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ InterfaceIsDual, InterfaceIsIUnknown, InterfaceIsIDispatch } { InterfaceIsDual, InterfaceIsIUnknown, InterfaceIsIDispatch, InterfaceIsIInspectable }

  public sealed enum ComMemberType
  : IComparable, IFormattable, IConvertible
  { Method, PropGet, PropSet }

  public sealed class ComRegisterFunctionAttribute
  : Attribute, _Attribute

  public sealed class ComSourceInterfacesAttribute
  : Attribute, _Attribute
  public String Value { get; }

  public sealed class ComUnregisterFunctionAttribute
  : Attribute, _Attribute

public sealed class ComVisibleAttribute public sealed class ComVisibleAttribute
: Attribute, _Attribute : Attribute, _Attribute
public Boolean Value { get; } public Boolean Value { get; }

  public sealed struct CONNECTDATA
  : ValueType

public abstract class CriticalHandle public abstract class CriticalHandle
: CriticalFinalizerObject, IDisposable : CriticalFinalizerObject, IDisposable
public Boolean IsClosed { get; } public Boolean IsClosed { get; }
public abstract virtual Boolean IsInvalid { get; } public abstract virtual Boolean IsInvalid { get; }
public void Close(); public void Close();
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  protected virtual void Finalize();
  protected abstract virtual Boolean ReleaseHandle();
  protected void SetHandle(IntPtr handle);
public void SetHandleAsInvalid(); public void SetHandleAsInvalid();

  public sealed class CurrencyWrapper
 
  public Decimal WrappedObject { get; }

  public sealed enum CustomQueryInterfaceMode
  : IComparable, IFormattable, IConvertible
  { Ignore, Allow }

  public sealed enum CustomQueryInterfaceResult
  : IComparable, IFormattable, IConvertible
  { Handled, NotHandled, Failed }

public sealed class DefaultCharSetAttribute public sealed class DefaultCharSetAttribute
: Attribute, _Attribute : Attribute, _Attribute
public CharSet CharSet { get; } public CharSet CharSet { get; }

  public sealed class DefaultDllImportSearchPathsAttribute
  : Attribute, _Attribute
  public DllImportSearchPath Paths { get; }

  public sealed class DefaultParameterValueAttribute
  : Attribute, _Attribute
  public Object Value { get; }

  public sealed enum DESCKIND
  : IComparable, IFormattable, IConvertible
  { DESCKIND_NONE, DESCKIND_FUNCDESC, DESCKIND_VARDESC, DESCKIND_TYPECOMP, DESCKIND_IMPLICITAPPOBJ, DESCKIND_MAX }

  sealed struct ELEMDESC
  : ValueType

  sealed struct VARDESC
  : ValueType

  public sealed class DispatchWrapper
 
  public Object WrappedObject { get; }

public sealed class DispIdAttribute public sealed class DispIdAttribute
: Attribute, _Attribute : Attribute, _Attribute
public Int32 Value { get; } public Int32 Value { get; }

  public sealed struct DISPPARAMS
  : ValueType

public sealed class DllImportAttribute public sealed class DllImportAttribute
: Attribute, _Attribute : Attribute, _Attribute
public String Value { get; } public String Value { get; }

  public sealed enum DllImportSearchPath
  : IComparable, IFormattable, IConvertible
  { FrameworkDirectory, ApplicationDirectory, UserDirectories, System32, SafeDirectories, AssemblyDirectory, LegacyBehavior }

  public sealed struct ELEMDESC
  : ValueType

  public sealed class ErrorWrapper
 
  public Int32 ErrorCode { get; }

  public sealed struct EXCEPINFO
  : ValueType

  public sealed enum ExporterEventKind
  : IComparable, IFormattable, IConvertible
  { NOTIF_TYPECONVERTED, NOTIF_CONVERTWARNING, ERROR_REFTOINVALIDASSEMBLY }

  public sealed class ExtensibleClassFactory
 
  static public void RegisterObjectCreationCallback(ObjectCreationDelegate callback);

public class ExternalException public class ExternalException
: SystemException, _Exception : SystemException, ISerializable, _Exception
public virtual Int32 ErrorCode { get; } public virtual Int32 ErrorCode { get; }

public sealed class FieldOffsetAttribute public sealed class FieldOffsetAttribute
: Attribute, _Attribute : Attribute, _Attribute
public Int32 Value { get; } public Int32 Value { get; }

  public sealed struct FILETIME
  : ValueType

  public sealed struct FUNCDESC
  : ValueType

  public sealed enum FUNCFLAGS
  : IComparable, IFormattable, IConvertible
  { FUNCFLAG_FRESTRICTED, FUNCFLAG_FSOURCE, FUNCFLAG_FBINDABLE, FUNCFLAG_FREQUESTEDIT, FUNCFLAG_FDISPLAYBIND, FUNCFLAG_FDEFAULTBIND, FUNCFLAG_FHIDDEN, FUNCFLAG_FUSESGETLASTERROR, FUNCFLAG_FDEFAULTCOLLELEM, FUNCFLAG_FUIDEFAULT, FUNCFLAG_FNONBROWSABLE, FUNCFLAG_FREPLACEABLE, FUNCFLAG_FIMMEDIATEBIND }

  public sealed enum FUNCKIND
  : IComparable, IFormattable, IConvertible
  { FUNC_VIRTUAL, FUNC_PUREVIRTUAL, FUNC_NONVIRTUAL, FUNC_STATIC, FUNC_DISPATCH }

public sealed struct GCHandle public sealed struct GCHandle
: ValueType : ValueType
public Boolean IsAllocated { get; } public Boolean IsAllocated { get; }
public Object Target { get; set; } public Object Target { get; set; }
public IntPtr AddrOfPinnedObject(); public IntPtr AddrOfPinnedObject();
static public GCHandle Alloc(Object value); static public GCHandle Alloc(Object value);
static public GCHandle Alloc(Object value, GCHandleType type); static public GCHandle Alloc(Object value, GCHandleType type);
public virtual Boolean Equals(Object o); public virtual Boolean Equals(Object o);
public void Free(); public void Free();
  static public GCHandle FromIntPtr(IntPtr value);
public virtual Int32 GetHashCode(); public virtual Int32 GetHashCode();
  static public Boolean op_Equality(GCHandle a, GCHandle b);
static public GCHandle op_Explicit(IntPtr value); static public GCHandle op_Explicit(IntPtr value);
static public IntPtr op_Explicit(GCHandle value); static public IntPtr op_Explicit(GCHandle value);
  static public Boolean op_Inequality(GCHandle a, GCHandle b);

public sealed enum GCHandleType public sealed enum GCHandleType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Weak, WeakTrackResurrection, Normal, Pinned } { Weak, WeakTrackResurrection, Normal, Pinned }

public sealed class GuidAttribute public sealed class GuidAttribute
: Attribute, _Attribute : Attribute, _Attribute
public String Value { get; } public String Value { get; }

  public sealed class HandleCollector
 
  public Int32 Count { get; }
  public Int32 InitialThreshold { get; }
  public Int32 MaximumThreshold { get; }
  public String Name { get; }
  public void Add();
  public void Remove();

  public sealed struct HandleRef
  : ValueType
  public IntPtr Handle { get; }
  public Object Wrapper { get; }
  static public IntPtr op_Explicit(HandleRef value);
  static public IntPtr ToIntPtr(HandleRef value);

  public abstract interface ICustomAdapter
 
  public abstract virtual Object GetUnderlyingObject();

  public abstract interface ICustomFactory
 
  public abstract virtual MarshalByRefObject CreateInstance(Type serverType);

  public abstract interface ICustomMarshaler
 
  public abstract virtual void CleanUpManagedData(Object ManagedObj);
  public abstract virtual void CleanUpNativeData(IntPtr pNativeData);
  public abstract virtual Int32 GetNativeDataSize();
  public abstract virtual IntPtr MarshalManagedToNative(Object ManagedObj);
  public abstract virtual Object MarshalNativeToManaged(IntPtr pNativeData);

  public abstract interface ICustomQueryInterface
 
  public abstract virtual CustomQueryInterfaceResult GetInterface(Guid& iid, out IntPtr& ppv);

  public sealed class IDispatchImplAttribute
  : Attribute, _Attribute
  public IDispatchImplType Value { get; }

  public sealed enum IDispatchImplType
  : IComparable, IFormattable, IConvertible
  { SystemDefinedImpl, InternalImpl, CompatibleImpl }

  public sealed struct IDLDESC
  : ValueType

  public sealed enum IDLFLAG
  : IComparable, IFormattable, IConvertible
  { IDLFLAG_NONE, IDLFLAG_FIN, IDLFLAG_FOUT, IDLFLAG_FLCID, IDLFLAG_FRETVAL }

  public sealed enum IMPLTYPEFLAGS
  : IComparable, IFormattable, IConvertible
  { IMPLTYPEFLAG_FDEFAULT, IMPLTYPEFLAG_FSOURCE, IMPLTYPEFLAG_FRESTRICTED, IMPLTYPEFLAG_FDEFAULTVTABLE }

  public sealed class ImportedFromTypeLibAttribute
  : Attribute, _Attribute
  public String Value { get; }

  public sealed enum ImporterEventKind
  : IComparable, IFormattable, IConvertible
  { NOTIF_TYPECONVERTED, NOTIF_CONVERTWARNING, ERROR_REFTOINVALIDTYPELIB }

public sealed class InAttribute public sealed class InAttribute
: Attribute, _Attribute : Attribute, _Attribute

public sealed class InterfaceTypeAttribute public sealed class InterfaceTypeAttribute
: Attribute, _Attribute : Attribute, _Attribute
public ComInterfaceType Value { get; } public ComInterfaceType Value { get; }

  public class InvalidComObjectException
  : SystemException, ISerializable, _Exception

  public class InvalidOleVariantTypeException
  : SystemException, ISerializable, _Exception

  public sealed enum INVOKEKIND
  : IComparable, IFormattable, IConvertible
  { INVOKE_FUNC, INVOKE_PROPERTYGET, INVOKE_PROPERTYPUT, INVOKE_PROPERTYPUTREF }

  public abstract interface IRegistrationServices
 
  public abstract virtual Guid GetManagedCategoryGuid();
  public abstract virtual String GetProgIdForType(Type type);
  public abstract virtual Type GetRegistrableTypesInAssembly(Assembly assembly);
  public abstract virtual Boolean RegisterAssembly(Assembly assembly, AssemblyRegistrationFlags flags);
  public abstract virtual void RegisterTypeForComClients(Type type, Guid& g);
  public abstract virtual Boolean TypeRepresentsComType(Type type);
  public abstract virtual Boolean TypeRequiresRegistration(Type type);
  public abstract virtual Boolean UnregisterAssembly(Assembly assembly);

  public abstract interface ITypeLibConverter
 
  public abstract virtual Object ConvertAssemblyToTypeLib(Assembly assembly, String typeLibName, TypeLibExporterFlags flags, ITypeLibExporterNotifySink notifySink);
  public abstract virtual AssemblyBuilder ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion);
  public abstract virtual AssemblyBuilder ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces);
  public abstract virtual Boolean GetPrimaryInteropAssembly(Guid g, Int32 major, Int32 minor, Int32 lcid, out String& asmName, out String& asmCodeBase);

  public abstract interface ITypeLibExporterNameProvider
 
  public abstract virtual String GetNames();

  public abstract interface ITypeLibExporterNotifySink
 
  public abstract virtual void ReportEvent(ExporterEventKind eventKind, Int32 eventCode, String eventMsg);
  public abstract virtual Object ResolveRef(Assembly assembly);

  public abstract interface ITypeLibImporterNotifySink
 
  public abstract virtual void ReportEvent(ImporterEventKind eventKind, Int32 eventCode, String eventMsg);
  public abstract virtual Assembly ResolveRef(Object typeLib);

public sealed enum LayoutKind public sealed enum LayoutKind
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Sequential, Explicit, Auto } { Sequential, Explicit, Auto }

  public sealed class LCIDConversionAttribute
  : Attribute, _Attribute
  public Int32 Value { get; }

  public sealed enum LIBFLAGS
  : IComparable, IFormattable, IConvertible
  { LIBFLAG_FRESTRICTED, LIBFLAG_FCONTROL, LIBFLAG_FHIDDEN, LIBFLAG_FHASDISKIMAGE }

  public sealed class ManagedToNativeComInteropStubAttribute
  : Attribute, _Attribute
  public Type ClassType { get; }
  public String MethodName { get; }

public abstract sealed class Marshal public abstract sealed class Marshal
  static public Int32 AddRef(IntPtr pUnk);
  static public IntPtr AllocCoTaskMem(Int32 cb);
  static public IntPtr AllocHGlobal(IntPtr cb);
  static public IntPtr AllocHGlobal(Int32 cb);
  static public Boolean AreComObjectsAvailableForCleanup();
  static public Object BindToMoniker(String monikerName);
  static public void ChangeWrapperHandleStrength(Object otp, Boolean fIsWeak);
  static public void CleanupUnusedObjectsInCurrentContext();
static public void Copy(Int32 source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Int32 source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Char source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Char source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Int16 source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Int16 source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Int64 source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Int64 source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Single source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Single source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Double source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Double source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(Byte source, Int32 startIndex, IntPtr destination, Int32 length); static public void Copy(Byte source, Int32 startIndex, IntPtr destination, Int32 length);
  static public void Copy(IntPtr source, Int32 startIndex, IntPtr destination, Int32 length);
static public void Copy(IntPtr source, Int32 destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Int32 destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Char destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Char destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Int16 destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Int16 destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Int64 destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Int64 destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Single destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Single destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Double destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Double destination, Int32 startIndex, Int32 length);
static public void Copy(IntPtr source, Byte destination, Int32 startIndex, Int32 length); static public void Copy(IntPtr source, Byte destination, Int32 startIndex, Int32 length);
  static public void Copy(IntPtr source, IntPtr destination, Int32 startIndex, Int32 length);
  static public IntPtr CreateAggregatedObject(IntPtr pOuter, Object o);
  static public Object CreateWrapperOfType(Object o, Type t);
  static public void DestroyStructure(IntPtr ptr, Type structuretype);
  static public Int32 FinalReleaseComObject(Object o);
  static public void FreeBSTR(IntPtr ptr);
  static public void FreeCoTaskMem(IntPtr ptr);
  static public void FreeHGlobal(IntPtr hglobal);
  static public Guid GenerateGuidForType(Type type);
  static public String GenerateProgIdForType(Type type);
  static public Object GetActiveObject(String progID);
  static public IntPtr GetComInterfaceForObject(Object o, Type T);
  static public IntPtr GetComInterfaceForObject(Object o, Type T, CustomQueryInterfaceMode mode);
  static public IntPtr GetComInterfaceForObjectInContext(Object o, Type t);
  static public Object GetComObjectData(Object obj, Object key);
  static public Int32 GetComSlotForMethodInfo(MemberInfo m);
static public Delegate GetDelegateForFunctionPointer(IntPtr ptr, Type t); static public Delegate GetDelegateForFunctionPointer(IntPtr ptr, Type t);
  static public Int32 GetEndComSlot(Type t);
  static public Int32 GetExceptionCode();
  static public Exception GetExceptionForHR(Int32 errorCode);
  static public Exception GetExceptionForHR(Int32 errorCode, IntPtr errorInfo);
  static public IntPtr GetExceptionPointers();
static public IntPtr GetFunctionPointerForDelegate(Delegate d); static public IntPtr GetFunctionPointerForDelegate(Delegate d);
  static public IntPtr GetHINSTANCE(Module m);
  static public Int32 GetHRForException(Exception e);
  static public Int32 GetHRForLastWin32Error();
  static public IntPtr GetIDispatchForObject(Object o);
  static public IntPtr GetIDispatchForObjectInContext(Object o);
  static public IntPtr GetITypeInfoForType(Type t);
  static public IntPtr GetIUnknownForObject(Object o);
  static public IntPtr GetIUnknownForObjectInContext(Object o);
static public Int32 GetLastWin32Error(); static public Int32 GetLastWin32Error();
  static public IntPtr GetManagedThunkForUnmanagedMethodPtr(IntPtr pfnMethodToWrap, IntPtr pbSignature, Int32 cbSignature);
  static public MemberInfo GetMethodInfoForComSlot(Type t, Int32 slot, ComMemberType& memberType);
  static public void GetNativeVariantForObject(Object obj, IntPtr pDstNativeVariant);
  static public Object GetObjectForIUnknown(IntPtr pUnk);
  static public Object GetObjectForNativeVariant(IntPtr pSrcNativeVariant);
  static public Object GetObjectsForNativeVariants(IntPtr aSrcNativeVariant, Int32 cVars);
  static public Int32 GetStartComSlot(Type t);
  static public Thread GetThreadFromFiberCookie(Int32 cookie);
  static public Object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
  static public Type GetTypeForITypeInfo(IntPtr piTypeInfo);
  static public String GetTypeInfoName(UCOMITypeInfo pTI);
  static public String GetTypeInfoName(ITypeInfo typeInfo);
  static public Guid GetTypeLibGuid(UCOMITypeLib pTLB);
  static public Guid GetTypeLibGuid(ITypeLib typelib);
  static public Guid GetTypeLibGuidForAssembly(Assembly asm);
  static public Int32 GetTypeLibLcid(UCOMITypeLib pTLB);
  static public Int32 GetTypeLibLcid(ITypeLib typelib);
  static public String GetTypeLibName(UCOMITypeLib pTLB);
  static public String GetTypeLibName(ITypeLib typelib);
  static public void GetTypeLibVersionForAssembly(Assembly inputAssembly, out Int32& majorVersion, out Int32& minorVersion);
  static public Object GetUniqueObjectForIUnknown(IntPtr unknown);
  static public IntPtr GetUnmanagedThunkForManagedMethodPtr(IntPtr pfnMethodToWrap, IntPtr pbSignature, Int32 cbSignature);
  static public Boolean IsComObject(Object o);
  static public Boolean IsTypeVisibleFromCom(Type t);
  static public Int32 NumParamBytes(MethodInfo m);
  static public IntPtr OffsetOf(Type t, String fieldName);
static public void Prelink(MethodInfo m); static public void Prelink(MethodInfo m);
static public void PrelinkAll(Type c); static public void PrelinkAll(Type c);
static public String PtrToStringAnsi(IntPtr ptr); static public String PtrToStringAnsi(IntPtr ptr);
static public String PtrToStringAnsi(IntPtr ptr, Int32 len); static public String PtrToStringAnsi(IntPtr ptr, Int32 len);
  static public String PtrToStringAuto(IntPtr ptr, Int32 len);
  static public String PtrToStringAuto(IntPtr ptr);
  static public String PtrToStringBSTR(IntPtr ptr);
static public String PtrToStringUni(IntPtr ptr, Int32 len); static public String PtrToStringUni(IntPtr ptr, Int32 len);
static public String PtrToStringUni(IntPtr ptr); static public String PtrToStringUni(IntPtr ptr);
static public void PtrToStructure(IntPtr ptr, Object structure); static public void PtrToStructure(IntPtr ptr, Object structure);
  static public Object PtrToStructure(IntPtr ptr, Type structureType);
  static public Int32 QueryInterface(IntPtr pUnk, Guid& iid, out IntPtr& ppv);
  static public Byte ReadByte(Object ptr, Int32 ofs);
static public Byte ReadByte(IntPtr ptr, Int32 ofs); static public Byte ReadByte(IntPtr ptr, Int32 ofs);
static public Byte ReadByte(IntPtr ptr); static public Byte ReadByte(IntPtr ptr);
  static public Int16 ReadInt16(Object ptr, Int32 ofs);
static public Int16 ReadInt16(IntPtr ptr, Int32 ofs); static public Int16 ReadInt16(IntPtr ptr, Int32 ofs);
static public Int16 ReadInt16(IntPtr ptr); static public Int16 ReadInt16(IntPtr ptr);
  static public Int32 ReadInt32(Object ptr, Int32 ofs);
static public Int32 ReadInt32(IntPtr ptr, Int32 ofs); static public Int32 ReadInt32(IntPtr ptr, Int32 ofs);
static public Int32 ReadInt32(IntPtr ptr); static public Int32 ReadInt32(IntPtr ptr);
  static public Int64 ReadInt64(Object ptr, Int32 ofs);
static public Int64 ReadInt64(IntPtr ptr, Int32 ofs); static public Int64 ReadInt64(IntPtr ptr, Int32 ofs);
static public Int64 ReadInt64(IntPtr ptr); static public Int64 ReadInt64(IntPtr ptr);
  static public IntPtr ReadIntPtr(Object ptr, Int32 ofs);
  static public IntPtr ReadIntPtr(IntPtr ptr, Int32 ofs);
static public IntPtr ReadIntPtr(IntPtr ptr); static public IntPtr ReadIntPtr(IntPtr ptr);
  static public IntPtr ReAllocCoTaskMem(IntPtr pv, Int32 cb);
  static public IntPtr ReAllocHGlobal(IntPtr pv, IntPtr cb);
  static public Int32 Release(IntPtr pUnk);
  static public Int32 ReleaseComObject(Object o);
  static public void ReleaseThreadCache();
  static public IntPtr SecureStringToBSTR(SecureString s);
  static public IntPtr SecureStringToCoTaskMemAnsi(SecureString s);
  static public IntPtr SecureStringToCoTaskMemUnicode(SecureString s);
  static public IntPtr SecureStringToGlobalAllocAnsi(SecureString s);
  static public IntPtr SecureStringToGlobalAllocUnicode(SecureString s);
  static public Boolean SetComObjectData(Object obj, Object key, Object data);
static public Int32 SizeOf(Object structure); static public Int32 SizeOf(Object structure);
static public Int32 SizeOf(Type t); static public Int32 SizeOf(Type t);
  static public IntPtr StringToBSTR(String s);
  static public IntPtr StringToCoTaskMemAnsi(String s);
  static public IntPtr StringToCoTaskMemAuto(String s);
  static public IntPtr StringToCoTaskMemUni(String s);
  static public IntPtr StringToHGlobalAnsi(String s);
  static public IntPtr StringToHGlobalAuto(String s);
  static public IntPtr StringToHGlobalUni(String s);
static public void StructureToPtr(Object structure, IntPtr ptr, Boolean fDeleteOld); static public void StructureToPtr(Object structure, IntPtr ptr, Boolean fDeleteOld);
  static public void ThrowExceptionForHR(Int32 errorCode);
  static public void ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo);
  static public IntPtr UnsafeAddrOfPinnedArrayElement(Array arr, Int32 index);
static public void WriteByte(IntPtr ptr, Int32 ofs, Byte val); static public void WriteByte(IntPtr ptr, Int32 ofs, Byte val);
  static public void WriteByte(out Object ptr, Int32 ofs, Byte val);
static public void WriteByte(IntPtr ptr, Byte val); static public void WriteByte(IntPtr ptr, Byte val);
static public void WriteInt16(IntPtr ptr, Int32 ofs, Int16 val); static public void WriteInt16(IntPtr ptr, Int32 ofs, Int16 val);
  static public void WriteInt16(out Object ptr, Int32 ofs, Int16 val);
static public void WriteInt16(IntPtr ptr, Int16 val); static public void WriteInt16(IntPtr ptr, Int16 val);
  static public void WriteInt16(IntPtr ptr, Int32 ofs, Char val);
  static public void WriteInt16(out Object ptr, Int32 ofs, Char val);
  static public void WriteInt16(IntPtr ptr, Char val);
static public void WriteInt32(IntPtr ptr, Int32 ofs, Int32 val); static public void WriteInt32(IntPtr ptr, Int32 ofs, Int32 val);
  static public void WriteInt32(out Object ptr, Int32 ofs, Int32 val);
static public void WriteInt32(IntPtr ptr, Int32 val); static public void WriteInt32(IntPtr ptr, Int32 val);
static public void WriteInt64(IntPtr ptr, Int32 ofs, Int64 val); static public void WriteInt64(IntPtr ptr, Int32 ofs, Int64 val);
  static public void WriteInt64(out Object ptr, Int32 ofs, Int64 val);
static public void WriteInt64(IntPtr ptr, Int64 val); static public void WriteInt64(IntPtr ptr, Int64 val);
  static public void WriteIntPtr(IntPtr ptr, Int32 ofs, IntPtr val);
  static public void WriteIntPtr(out Object ptr, Int32 ofs, IntPtr val);
static public void WriteIntPtr(IntPtr ptr, IntPtr val); static public void WriteIntPtr(IntPtr ptr, IntPtr val);
  static public void ZeroFreeBSTR(IntPtr s);
  static public void ZeroFreeCoTaskMemAnsi(IntPtr s);
  static public void ZeroFreeCoTaskMemUnicode(IntPtr s);
  static public void ZeroFreeGlobalAllocAnsi(IntPtr s);

public sealed class MarshalAsAttribute public sealed class MarshalAsAttribute
: Attribute, _Attribute : Attribute, _Attribute
public UnmanagedType Value { get; } public UnmanagedType Value { get; }

public class MarshalDirectiveException public class MarshalDirectiveException
: SystemException, _Exception : SystemException, ISerializable, _Exception

  public sealed class ObjectCreationDelegate
  : MulticastDelegate, ICloneable, ISerializable
  public virtual IAsyncResult BeginInvoke(IntPtr aggregator, AsyncCallback callback, Object object);
  public virtual IntPtr EndInvoke(IAsyncResult result);
  public virtual IntPtr Invoke(IntPtr aggregator);

public sealed class OptionalAttribute public sealed class OptionalAttribute
: Attribute, _Attribute : Attribute, _Attribute

public sealed class OutAttribute public sealed class OutAttribute
: Attribute, _Attribute : Attribute, _Attribute

  public sealed struct PARAMDESC
  : ValueType

  public sealed enum PARAMFLAG
  : IComparable, IFormattable, IConvertible
  { PARAMFLAG_NONE, PARAMFLAG_FIN, PARAMFLAG_FOUT, PARAMFLAG_FLCID, PARAMFLAG_FRETVAL, PARAMFLAG_FOPT, PARAMFLAG_FHASDEFAULT, PARAMFLAG_FHASCUSTDATA }

public sealed class PreserveSigAttribute public sealed class PreserveSigAttribute
: Attribute, _Attribute : Attribute, _Attribute

  public sealed class PrimaryInteropAssemblyAttribute
  : Attribute, _Attribute
  public Int32 MajorVersion { get; }
  public Int32 MinorVersion { get; }

  public sealed class ProgIdAttribute
  : Attribute, _Attribute
  public String Value { get; }

  public sealed enum RegistrationClassContext
  : IComparable, IFormattable, IConvertible
  { InProcessServer, InProcessHandler, LocalServer, InProcessServer16, RemoteServer, InProcessHandler16, Reserved1, Reserved2, Reserved3, Reserved4, NoCodeDownload, Reserved5, NoCustomMarshal, EnableCodeDownload, NoFailureLog, DisableActivateAsActivator, EnableActivateAsActivator, FromDefaultContext }

  public sealed enum RegistrationConnectionType
  : IComparable, IFormattable, IConvertible
  { SingleUse, MultipleUse, MultiSeparate, Suspended, Surrogate }

  public class RegistrationServices
  : IRegistrationServices
  public virtual Guid GetManagedCategoryGuid();
  public virtual String GetProgIdForType(Type type);
  public virtual Type GetRegistrableTypesInAssembly(Assembly assembly);
  public virtual Boolean RegisterAssembly(Assembly assembly, AssemblyRegistrationFlags flags);
  public virtual void RegisterTypeForComClients(Type type, Guid& g);
  public virtual Int32 RegisterTypeForComClients(Type type, RegistrationClassContext classContext, RegistrationConnectionType flags);
  public virtual Boolean TypeRepresentsComType(Type type);
  public virtual Boolean TypeRequiresRegistration(Type type);
  public virtual Boolean UnregisterAssembly(Assembly assembly);
  public virtual void UnregisterTypeForComClients(Int32 cookie);

  public class RuntimeEnvironment
 
  static public String SystemConfigurationFile { get; }
  static public Boolean FromGlobalAccessCache(Assembly a);
  static public String GetRuntimeDirectory();
  static public IntPtr GetRuntimeInterfaceAsIntPtr(Guid clsid, Guid riid);
  static public Object GetRuntimeInterfaceAsObject(Guid clsid, Guid riid);
  static public String GetSystemVersion();

  public class SafeArrayRankMismatchException
  : SystemException, ISerializable, _Exception

  public class SafeArrayTypeMismatchException
  : SystemException, ISerializable, _Exception

  public abstract class SafeBuffer
  : SafeHandleZeroOrMinusOneIsInvalid, IDisposable
  public UInt64 ByteLength { get; }
  public void AcquirePointer(Byte& pointer);
  public void Initialize(UInt64 numBytes);
  public void Initialize(UInt32 numElements, UInt32 sizeOfEachElement);
  public void Initialize(UInt32 numElements);
  public T Read(UInt64 byteOffset);
  public void ReadArray(UInt64 byteOffset, T array, Int32 index, Int32 count);
  public void ReleasePointer();
  public void Write(UInt64 byteOffset, T value);
  public void WriteArray(UInt64 byteOffset, T array, Int32 index, Int32 count);

public abstract class SafeHandle public abstract class SafeHandle
: CriticalFinalizerObject, IDisposable : CriticalFinalizerObject, IDisposable
public Boolean IsClosed { get; } public Boolean IsClosed { get; }
public abstract virtual Boolean IsInvalid { get; } public abstract virtual Boolean IsInvalid { get; }
public void Close(); public void Close();
public void DangerousAddRef(Boolean& success); public void DangerousAddRef(Boolean& success);
public IntPtr DangerousGetHandle(); public IntPtr DangerousGetHandle();
public void DangerousRelease(); public void DangerousRelease();
public virtual void Dispose(); public virtual void Dispose();
  protected virtual void Dispose(Boolean disposing);
  protected virtual void Finalize();
  protected abstract virtual Boolean ReleaseHandle();
  protected void SetHandle(IntPtr handle);
public void SetHandleAsInvalid(); public void SetHandleAsInvalid();

public class SEHException public class SEHException
: ExternalException, _Exception : ExternalException, ISerializable, _Exception

  public sealed class SetWin32ContextInIDispatchAttribute
  : Attribute, _Attribute

  public class StandardOleMarshalObject
  : MarshalByRefObject, IMarshal

  public sealed struct STATSTG
  : ValueType

public sealed class StructLayoutAttribute public sealed class StructLayoutAttribute
: Attribute, _Attribute : Attribute, _Attribute
public LayoutKind Value { get; } public LayoutKind Value { get; }

  public sealed enum SYSKIND
  : IComparable, IFormattable, IConvertible
  { SYS_WIN16, SYS_WIN32, SYS_MAC }

  public sealed struct TYPEATTR
  : ValueType

  public sealed struct TYPEDESC
  : ValueType

  public sealed enum TYPEFLAGS
  : IComparable, IFormattable, IConvertible
  { TYPEFLAG_FAPPOBJECT, TYPEFLAG_FCANCREATE, TYPEFLAG_FLICENSED, TYPEFLAG_FPREDECLID, TYPEFLAG_FHIDDEN, TYPEFLAG_FCONTROL, TYPEFLAG_FDUAL, TYPEFLAG_FNONEXTENSIBLE, TYPEFLAG_FOLEAUTOMATION, TYPEFLAG_FRESTRICTED, TYPEFLAG_FAGGREGATABLE, TYPEFLAG_FREPLACEABLE, TYPEFLAG_FDISPATCHABLE, TYPEFLAG_FREVERSEBIND, TYPEFLAG_FPROXY }

  public sealed class TypeIdentifierAttribute
  : Attribute, _Attribute
  public String Identifier { get; }
  public String Scope { get; }

  public sealed enum TYPEKIND
  : IComparable, IFormattable, IConvertible
  { TKIND_ENUM, TKIND_RECORD, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH, TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX }

  public sealed struct TYPELIBATTR
  : ValueType

  public sealed class TypeLibConverter
  : ITypeLibConverter
  public virtual Object ConvertAssemblyToTypeLib(Assembly assembly, String strTypeLibName, TypeLibExporterFlags flags, ITypeLibExporterNotifySink notifySink);
  public virtual AssemblyBuilder ConvertTypeLibToAssembly(Object typeLib, String asmFileName, Int32 flags, ITypeLibImporterNotifySink notifySink, Byte publicKey, StrongNameKeyPair keyPair, Boolean unsafeInterfaces);
  public virtual AssemblyBuilder ConvertTypeLibToAssembly(Object typeLib, String asmFileName, TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, Byte publicKey, StrongNameKeyPair keyPair, String asmNamespace, Version asmVersion);
  public virtual Boolean GetPrimaryInteropAssembly(Guid g, Int32 major, Int32 minor, Int32 lcid, out String& asmName, out String& asmCodeBase);

  public sealed enum TypeLibExporterFlags
  : IComparable, IFormattable, IConvertible
  { None, OnlyReferenceRegistered, CallerResolvedReferences, OldNames, ExportAs32Bit, ExportAs64Bit }

  public sealed class TypeLibFuncAttribute
  : Attribute, _Attribute
  public TypeLibFuncFlags Value { get; }

  public sealed enum TypeLibFuncFlags
  : IComparable, IFormattable, IConvertible
  { FRestricted, FSource, FBindable, FRequestEdit, FDisplayBind, FDefaultBind, FHidden, FUsesGetLastError, FDefaultCollelem, FUiDefault, FNonBrowsable, FReplaceable, FImmediateBind }

  public sealed class TypeLibImportClassAttribute
  : Attribute, _Attribute
  public String Value { get; }

  public sealed enum TypeLibImporterFlags
  : IComparable, IFormattable, IConvertible
  { None, PrimaryInteropAssembly, UnsafeInterfaces, SafeArrayAsSystemArray, TransformDispRetVals, PreventClassMembers, SerializableValueClasses, ImportAsX86, ImportAsX64, ImportAsItanium, ImportAsAgnostic, ReflectionOnlyLoading, NoDefineVersionResource, ImportAsArm }

  public sealed class TypeLibTypeAttribute
  : Attribute, _Attribute
  public TypeLibTypeFlags Value { get; }

  public sealed enum TypeLibTypeFlags
  : IComparable, IFormattable, IConvertible
  { FAppObject, FCanCreate, FLicensed, FPreDeclId, FHidden, FControl, FDual, FNonExtensible, FOleAutomation, FRestricted, FAggregatable, FReplaceable, FDispatchable, FReverseBind }

  public sealed class TypeLibVarAttribute
  : Attribute, _Attribute
  public TypeLibVarFlags Value { get; }

  public sealed enum TypeLibVarFlags
  : IComparable, IFormattable, IConvertible
  { FReadOnly, FSource, FBindable, FRequestEdit, FDisplayBind, FDefaultBind, FHidden, FRestricted, FDefaultCollelem, FUiDefault, FNonBrowsable, FReplaceable, FImmediateBind }

  public sealed class TypeLibVersionAttribute
  : Attribute, _Attribute
  public Int32 MajorVersion { get; }
  public Int32 MinorVersion { get; }

  public abstract interface UCOMIBindCtx
 
  public abstract virtual void EnumObjectParam(out UCOMIEnumString& ppenum);
  public abstract virtual void GetBindOptions(BIND_OPTS& pbindopts);
  public abstract virtual void GetObjectParam(String pszKey, out Object& ppunk);
  public abstract virtual void GetRunningObjectTable(out UCOMIRunningObjectTable& pprot);
  public abstract virtual void RegisterObjectBound(Object punk);
  public abstract virtual void RegisterObjectParam(String pszKey, Object punk);
  public abstract virtual void ReleaseBoundObjects();
  public abstract virtual void RevokeObjectBound(Object punk);
  public abstract virtual void RevokeObjectParam(String pszKey);
  public abstract virtual void SetBindOptions(BIND_OPTS& pbindopts);

  public abstract interface UCOMIConnectionPoint
 
  public abstract virtual void Advise(Object pUnkSink, out Int32& pdwCookie);
  public abstract virtual void EnumConnections(out UCOMIEnumConnections& ppEnum);
  public abstract virtual void GetConnectionInterface(out Guid& pIID);
  public abstract virtual void GetConnectionPointContainer(out UCOMIConnectionPointContainer& ppCPC);
  public abstract virtual void Unadvise(Int32 dwCookie);

  public abstract interface UCOMIConnectionPointContainer
 
  public abstract virtual void EnumConnectionPoints(out UCOMIEnumConnectionPoints& ppEnum);
  public abstract virtual void FindConnectionPoint(Guid& riid, out UCOMIConnectionPoint& ppCP);

  public abstract interface UCOMIEnumConnectionPoints
 
  public abstract virtual void Clone(out UCOMIEnumConnectionPoints& ppenum);
  public abstract virtual Int32 Next(Int32 celt, out UCOMIConnectionPoint rgelt, out Int32& pceltFetched);
  public abstract virtual Int32 Reset();
  public abstract virtual Int32 Skip(Int32 celt);

  public abstract interface UCOMIEnumConnections
 
  public abstract virtual void Clone(out UCOMIEnumConnections& ppenum);
  public abstract virtual Int32 Next(Int32 celt, out CONNECTDATA rgelt, out Int32& pceltFetched);
  public abstract virtual void Reset();
  public abstract virtual Int32 Skip(Int32 celt);

  public abstract interface UCOMIEnumMoniker
 
  public abstract virtual void Clone(out UCOMIEnumMoniker& ppenum);
  public abstract virtual Int32 Next(Int32 celt, out UCOMIMoniker rgelt, out Int32& pceltFetched);
  public abstract virtual Int32 Reset();
  public abstract virtual Int32 Skip(Int32 celt);

  public abstract interface UCOMIEnumString
 
  public abstract virtual void Clone(out UCOMIEnumString& ppenum);
  public abstract virtual Int32 Next(Int32 celt, out String rgelt, out Int32& pceltFetched);
  public abstract virtual Int32 Reset();
  public abstract virtual Int32 Skip(Int32 celt);

  public abstract interface UCOMIEnumVARIANT
 
  public abstract virtual void Clone(Int32 ppenum);
  public abstract virtual Int32 Next(Int32 celt, Int32 rgvar, Int32 pceltFetched);
  public abstract virtual Int32 Reset();
  public abstract virtual Int32 Skip(Int32 celt);

  public abstract interface UCOMIMoniker
 
  public abstract virtual void BindToObject(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, Guid& riidResult, out Object& ppvResult);
  public abstract virtual void BindToStorage(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, Guid& riid, out Object& ppvObj);
  public abstract virtual void CommonPrefixWith(UCOMIMoniker pmkOther, out UCOMIMoniker& ppmkPrefix);
  public abstract virtual void ComposeWith(UCOMIMoniker pmkRight, Boolean fOnlyIfNotGeneric, out UCOMIMoniker& ppmkComposite);
  public abstract virtual void Enum(Boolean fForward, out UCOMIEnumMoniker& ppenumMoniker);
  public abstract virtual void GetClassID(out Guid& pClassID);
  public abstract virtual void GetDisplayName(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, out String& ppszDisplayName);
  public abstract virtual void GetSizeMax(out Int64& pcbSize);
  public abstract virtual void GetTimeOfLastChange(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, out FILETIME& pFileTime);
  public abstract virtual void Hash(out Int32& pdwHash);
  public abstract virtual void Inverse(out UCOMIMoniker& ppmk);
  public abstract virtual Int32 IsDirty();
  public abstract virtual void IsEqual(UCOMIMoniker pmkOtherMoniker);
  public abstract virtual void IsRunning(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, UCOMIMoniker pmkNewlyRunning);
  public abstract virtual void IsSystemMoniker(out Int32& pdwMksys);
  public abstract virtual void Load(UCOMIStream pStm);
  public abstract virtual void ParseDisplayName(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft, String pszDisplayName, out Int32& pchEaten, out UCOMIMoniker& ppmkOut);
  public abstract virtual void Reduce(UCOMIBindCtx pbc, Int32 dwReduceHowFar, UCOMIMoniker& ppmkToLeft, out UCOMIMoniker& ppmkReduced);
  public abstract virtual void RelativePathTo(UCOMIMoniker pmkOther, out UCOMIMoniker& ppmkRelPath);
  public abstract virtual void Save(UCOMIStream pStm, Boolean fClearDirty);

  public abstract interface UCOMIPersistFile
 
  public abstract virtual void GetClassID(out Guid& pClassID);
  public abstract virtual void GetCurFile(out String& ppszFileName);
  public abstract virtual Int32 IsDirty();
  public abstract virtual void Load(String pszFileName, Int32 dwMode);
  public abstract virtual void Save(String pszFileName, Boolean fRemember);
  public abstract virtual void SaveCompleted(String pszFileName);

  public abstract interface UCOMIRunningObjectTable
 
  public abstract virtual void EnumRunning(out UCOMIEnumMoniker& ppenumMoniker);
  public abstract virtual void GetObject(UCOMIMoniker pmkObjectName, out Object& ppunkObject);
  public abstract virtual void GetTimeOfLastChange(UCOMIMoniker pmkObjectName, out FILETIME& pfiletime);
  public abstract virtual void IsRunning(UCOMIMoniker pmkObjectName);
  public abstract virtual void NoteChangeTime(Int32 dwRegister, FILETIME& pfiletime);
  public abstract virtual void Register(Int32 grfFlags, Object punkObject, UCOMIMoniker pmkObjectName, out Int32& pdwRegister);
  public abstract virtual void Revoke(Int32 dwRegister);

  public abstract interface UCOMIStream
 
  public abstract virtual void Clone(out UCOMIStream& ppstm);
  public abstract virtual void Commit(Int32 grfCommitFlags);
  public abstract virtual void CopyTo(UCOMIStream pstm, Int64 cb, IntPtr pcbRead, IntPtr pcbWritten);
  public abstract virtual void LockRegion(Int64 libOffset, Int64 cb, Int32 dwLockType);
  public abstract virtual void Read(out Byte pv, Int32 cb, IntPtr pcbRead);
  public abstract virtual void Revert();
  public abstract virtual void Seek(Int64 dlibMove, Int32 dwOrigin, IntPtr plibNewPosition);
  public abstract virtual void SetSize(Int64 libNewSize);
  public abstract virtual void Stat(out STATSTG& pstatstg, Int32 grfStatFlag);
  public abstract virtual void UnlockRegion(Int64 libOffset, Int64 cb, Int32 dwLockType);
  public abstract virtual void Write(Byte pv, Int32 cb, IntPtr pcbWritten);

  public abstract interface UCOMITypeComp
 
  public abstract virtual void Bind(String szName, Int32 lHashVal, Int16 wFlags, out UCOMITypeInfo& ppTInfo, out DESCKIND& pDescKind, out BINDPTR& pBindPtr);
  public abstract virtual void BindType(String szName, Int32 lHashVal, out UCOMITypeInfo& ppTInfo, out UCOMITypeComp& ppTComp);

  public abstract interface UCOMITypeInfo
 
  public abstract virtual void AddressOfMember(Int32 memid, INVOKEKIND invKind, out IntPtr& ppv);
  public abstract virtual void CreateInstance(Object pUnkOuter, Guid& riid, out Object& ppvObj);
  public abstract virtual void GetContainingTypeLib(out UCOMITypeLib& ppTLB, out Int32& pIndex);
  public abstract virtual void GetDllEntry(Int32 memid, INVOKEKIND invKind, out String& pBstrDllName, out String& pBstrName, out Int16& pwOrdinal);
  public abstract virtual void GetDocumentation(Int32 index, out String& strName, out String& strDocString, out Int32& dwHelpContext, out String& strHelpFile);
  public abstract virtual void GetFuncDesc(Int32 index, out IntPtr& ppFuncDesc);
  public abstract virtual void GetIDsOfNames(String rgszNames, Int32 cNames, out Int32[] pMemId);
  public abstract virtual void GetImplTypeFlags(Int32 index, out Int32& pImplTypeFlags);
  public abstract virtual void GetMops(Int32 memid, out String& pBstrMops);
  public abstract virtual void GetNames(Int32 memid, out String rgBstrNames, Int32 cMaxNames, out Int32& pcNames);
  public abstract virtual void GetRefTypeInfo(Int32 hRef, out UCOMITypeInfo& ppTI);
  public abstract virtual void GetRefTypeOfImplType(Int32 index, out Int32& href);
  public abstract virtual void GetTypeAttr(out IntPtr& ppTypeAttr);
  public abstract virtual void GetTypeComp(out UCOMITypeComp& ppTComp);
  public abstract virtual void GetVarDesc(Int32 index, out IntPtr& ppVarDesc);
  public abstract virtual void Invoke(Object pvInstance, Int32 memid, Int16 wFlags, DISPPARAMS& pDispParams, out Object& pVarResult, out EXCEPINFO& pExcepInfo, out Int32& puArgErr);
  public abstract virtual void ReleaseFuncDesc(IntPtr pFuncDesc);
  public abstract virtual void ReleaseTypeAttr(IntPtr pTypeAttr);
  public abstract virtual void ReleaseVarDesc(IntPtr pVarDesc);

  public abstract interface UCOMITypeLib
 
  public abstract virtual void FindName(String szNameBuf, Int32 lHashVal, out UCOMITypeInfo ppTInfo, out Int32[] rgMemId, Int16& pcFound);
  public abstract virtual void GetDocumentation(Int32 index, out String& strName, out String& strDocString, out Int32& dwHelpContext, out String& strHelpFile);
  public abstract virtual void GetLibAttr(out IntPtr& ppTLibAttr);
  public abstract virtual void GetTypeComp(out UCOMITypeComp& ppTComp);
  public abstract virtual void GetTypeInfo(Int32 index, out UCOMITypeInfo& ppTI);
  public abstract virtual Int32 GetTypeInfoCount();
  public abstract virtual void GetTypeInfoOfGuid(Guid& guid, out UCOMITypeInfo& ppTInfo);
  public abstract virtual void GetTypeInfoType(Int32 index, out TYPEKIND& pTKind);
  public abstract virtual Boolean IsName(String szNameBuf, Int32 lHashVal);
  public abstract virtual void ReleaseTLibAttr(IntPtr pTLibAttr);

  public sealed class UnknownWrapper
 
  public Object WrappedObject { get; }

public sealed class UnmanagedFunctionPointerAttribute public sealed class UnmanagedFunctionPointerAttribute
: Attribute, _Attribute : Attribute, _Attribute
public CallingConvention CallingConvention { get; } public CallingConvention CallingConvention { get; }

public sealed enum UnmanagedType public sealed enum UnmanagedType
: IComparable, IFormattable, IConvertible : IComparable, IFormattable, IConvertible
{ Bool, I1, U1, I2, U2, I4, U4, I8, U8, R4, R8, Currency, LPStr, LPWStr, LPTStr, ByValTStr, IUnknown, Struct, ByValArray, SysInt, SysUInt, FunctionPtr, AsAny, LPArray, LPStruct, Error } { Bool, I1, U1, I2, U2, I4, U4, I8, U8, R4, R8, Currency, BStr, LPStr, LPWStr, LPTStr, ByValTStr, IUnknown, IDispatch, Struct, Interface, SafeArray, ByValArray, SysInt, SysUInt, VBByRefStr, AnsiBStr, TBStr, VariantBool, FunctionPtr, AsAny, LPArray, LPStruct, CustomMarshaler, Error, IInspectable, HString }

  public sealed struct VARDESC
  : ValueType

  public sealed enum VarEnum
  : IComparable, IFormattable, IConvertible
  { VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_ERROR, VT_BOOL, VT_VARIANT, VT_UNKNOWN, VT_DECIMAL, VT_I1, VT_UI1, VT_UI2, VT_UI4, VT_I8, VT_UI8, VT_INT, VT_UINT, VT_VOID, VT_HRESULT, VT_PTR, VT_SAFEARRAY, VT_CARRAY, VT_USERDEFINED, VT_LPSTR, VT_LPWSTR, VT_RECORD, VT_FILETIME, VT_BLOB, VT_STREAM, VT_STORAGE, VT_STREAMED_OBJECT, VT_STORED_OBJECT, VT_BLOB_OBJECT, VT_CF, VT_CLSID, VT_VECTOR, VT_ARRAY, VT_BYREF }

  public sealed enum VARFLAGS
  : IComparable, IFormattable, IConvertible
  { VARFLAG_FREADONLY, VARFLAG_FSOURCE, VARFLAG_FBINDABLE, VARFLAG_FREQUESTEDIT, VARFLAG_FDISPLAYBIND, VARFLAG_FDEFAULTBIND, VARFLAG_FHIDDEN, VARFLAG_FRESTRICTED, VARFLAG_FDEFAULTCOLLELEM, VARFLAG_FUIDEFAULT, VARFLAG_FNONBROWSABLE, VARFLAG_FREPLACEABLE, VARFLAG_FIMMEDIATEBIND }

  public sealed class VariantWrapper
 
  public Object WrappedObject { get; }