2006-12-02 Miguel de Icaza <miguel@novell.com>
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / ChangeLog
index a18f2ef6561a2544cf759437ec1583fa7549626c..f8bce2c0781fef3ed3a5407d1ae470be9c14635a 100644 (file)
-2002-01-17  Miguel de Icaza  <miguel@ximian.com>\r
-\r
-       * ExternalException.cs: Add ExternalException.\r
-\r
-2002-01-05  Ravi Pratap  <ravi@ximian.com>\r
-\r
-       * OutAttribute.cs : Decorate with MonoTODO.\r
-       \r
-Thu Dec 20 15:46:31 CET 2001 Paolo Molaro <lupus@ximian.com>\r
-\r
-       * FieldOffsetAttribute.cs, InAttribute.cs, MarshalAsAttribute.cs,\r
-       OptionalAttribute.cs, StructLayoutAttribute.cs, VarEnum.cs:\r
-       more stuff needed by the compiler.\r
-\r
-Thu Dec 13 20:22:18 CET 2001 Paolo Molaro <lupus@ximian.com>\r
-\r
-       * DllImportAttribute.cs: added.\r
-       * MethodImplOptions.cs: removed: this is already in CompilerServices.\r
-\r
-Wed Nov 14 17:02:57 CET 2001 Paolo Molaro <lupus@ximian.com>\r
-\r
-       * CallingConvention.cs: add missing Winapi.\r
-\r
-2001-07-20  Miguel de Icaza  <miguel@ximian.com>\r
-\r
-       * OutAttribute.cs: New file.\r
-\r
-2001-07-18  Michael Lambert <michaellambert@email.com>\r
-\r
-       * CallingConvention.cs.cs, CharSet.cs, GCHandleType.cs, LayoutKind.cs: Add.\r
+2006-12-02  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Implement this class.
+       
+2006-10-06  Jonathan Chambers  <joncham@gmail.com>
+
+       * ExtensibleClassFactory.cs: Implement RegisterObjectCreationCallback.
+       
+2006-08-31 Robert Jordan  <robertj@gmx.net>
+
+       * Marshal.cs: Replaced the *Auto internal calls with managed
+       variants. Fixed SystemDefaultCharSize to return an OS dependent
+       value.
+
+2006-08-09  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implement GetIDispatchForObject.
+       
+2006-08-07  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Marshal.cs: Added stubs for GetTypeLibGuid (ITypeLib), GetTypeLibLcid
+       (ITypeLib), GetTypeLibName (ITypeLib).
+
+2006-07-28  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implemented CreateWrapperOfType and ReleaseComObject.
+       
+2006-07-15  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Begin implementing COM Interop. Implemented
+       AddRef, GetComInterfaceForObject, GetComObjectData, GetIUnknownForObject,
+       GetObjectForIUnknown, GetTypedObjectForIUnknown, IsComObject, QueryInterface
+       Release, SetComObjectData, and ThrowExceptionForHR.
+       
+2006-06-07  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement GetComSlotForMethodInfo
+
+2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement VARIANT marshalling methods
+
+2006-05-20  Zac Bowling <zac@zacbowling.com>
+       * VarEnum.cs: ComVisible Attribute (2.0)
+       * InterfaceTypeAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMITypeInfo.cs: ComImport Attribute (1.x)
+       * UCOMITypeComp.cs: ComImport Attribute (1.x)
+       * MarshalAsAttribute.cs: ComVisible Attribute (2.0)
+       * StructLayoutAttribute.cs: ComVisible Attribute (2.0)
+       * ProgIdAttribute.cs: ComVisible Attribute (2.0)
+       * PrimaryInteropAssemblyAttribute.cs: ComVisible Attribute (2.0)
+       * ImporterEventKind.cs: ComVisible Attribute (2.0)
+       * UCOMIPersistFile.cs: ComImport Attribute (1.x)
+       * SetWin32ContextInIDispatchAttribute.cs: Obselete and ComVisible
+       Attribute (2.0)
+       * IRegistrationServices.cs: ComVisible Attribute and CAS Attributes (2.0)
+       * InAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMIMoniker.cs: ComImport Attribute (1.x)
+       * MarshalDirectiveException.cs: ComVisible Attribute (2.0)
+       * IDLDESC.cs: ComVisible Attribute (1.x)
+       * FUNCFLAGS.cs: ComVisible Attribute (1.x)
+       * UCOMIConnectionPointContainer.cs: ComImport Attribute (1.x)
+       * TypeLibExporterFlags.cs: ComVisible Attribute (2.0)
+       * ICustomMarshaler.cs: ComVisible Attribute (2.0)
+       * LayoutKind.cs: ComVisible Attribute (2.0) + Serializable + Clean
+       * ICustomAdapter.cs: ComVisible Attribute (2.0)
+       * UnmanagedFunctionPointerAttribute.cs: ComVisible Attribute and Param
+       Signature of UnmanagedFunctionPointerAttribute(...)
+       * FUNCKIND.cs: ComVisble Attribute (1.x)
+       * TypeLibVersionAttribute.cs: ComVisible Attribute (2.0) + Missing in
+       2.0
+       * TypeLibVarAttribute.cs: ComVisible Attribute (2.0)
+       * ITypeLibConverter.cs: ComVisible Attribute (2.0)
+       * UCOMIRunningObjectTable.cs: ComImport Attribute (1.x)
+       * IDispatchImplAttribute.cs: Obsolete + ComVisible Attribute (2.0)
+       * ITypeLibImporterNotifySink.cs: ComVisible Attribute (2.0)
+       * PreserveSigAttribute.cs: ComVisible Attribute (2.0)
+       * SYSKIND.cs: ComVisible Attribute (1.x) 
+       * UCOMIEnumVARIANT.cs: ComImport Attribute (1.x)
+       * UCOMIEnumString.cs: ComImport Attribute (1.x) and Expose to 1.x (not
+       a 2.0 exclusive class)
+       * OutAttribute.cs: ComVisible Attribute (2.0)
+       * InvalidComObjectException.cs: ComVisible Attribute (2.0)
+       * SEHException.cs: ComVisible Attribute (2.0)
+       * UCOMIConnectionPoint.cs: ComImport Attribute (1.x)
+       * TypeLibImporterFlags.cs: ComVisible Attribute (2.0) and
+       Serializable
+       * OptionalAttribute.cs: ComVisible Attribute (2.0)
+       * TYPEDESC.cs: ComVisible Attribute (1.x)
+       * UCOMIEnumMoniker.cs: ComImport Attribute (1.x) and Expose to 1.x
+       (not a 2.0 exclusive class)
+       * TypeLibTypeFlags.cs: ComVisible Attribute (2.0)
+       * ITypeLibExporterNotifySink.cs: ComVisible Attribute (2.0)
+       * HandleRef.cs: ComVisible.cs and add ToIntPtr (2.0)
+       * DllImportAttribute.cs: ComVisible Attribute (2.0)
+       * TypeLibTypeAttribute.cs: ComVisible Attribute (2.0)
+       * UnknownWrapper.cs: Serializable, ComVisible Attribute (2.0)
+       * IDFLAGS.cs: ComVisible Attribute (1.x only)
+       * RegistrationClassContext.cs: License + Flags attribute (2.0)
+       * GCHandle.cs: ComVisible Attribute + Operator Overrides (2.0)
+       * TypeLibImportClassAttribute.cs: ComVisible Attribute (2.0)
+       * IMPLYTPEFLAGS.cs: ComVisible Attribute (1.x)
+       * ImportedFromTypeLibAttribute.cs: ComVisible (2.0)
+       * UCOMIBindCtx.cs: Obsolete Attribute (2.0)
+       * FUNCDESC.cs: ComVisible Attribute (1.x)
+       * RegistrationConnectionType.cs: Flags Attribute (2.0)
+       * IDispatchImplType.cs: Obsolete + ComVisible Attribute (2.0)
+       * TypeLibConverter.cs: ComVisible (2.0)
+       * INVOKEKIND.cs: ComVisible Attribute (1.x)
+       * GCHandleType.cs: ComVisible Attribute (2.0) + Serializable
+       * ICustomFactory.cs: ComVisible Attribute (2.0)
+       * FieldOffsetAttribute.cs: ComVisible Attribute (2.0)
+       * LIBFLAGS.cs: ComVisible Attribute (1.x)
+       * ComSourceInterfacesAttributes.cs: ComVisible Attribute (2.0)
+       * STATSTG.cs: ComVisible Attribute (1.x)
+       * InvalidOleVariantTypeException.cs: ComVisible Attribute (2.0)
+       * TypeLibVarFlags.cs: ComVisible Attribute (2.0)
+       * TYPEFLAGS.cs: ComVisible Attribute (1.x)
+       * SafeArrayRankMismatchException.cs: ComVisible Attribute (2.0)
+       * TYPEATTR.cs: ComVisible Attribute (1.x)
+       * GuidAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMIEnumConnectionPoints.cs: ComImport Attribute (1.x) + Expose to
+       1.x (not a 2.0 exclusive)
+       * SafeArrayTypeMismatchException.cs: ComVisible Attribute (2.0)
+       * ObjectCreationDelegate.cs: ComVisible Attribute (2.0)
+       * ITypeLibExporterNameProvider.cs: ComVisible Attribute (2.0) and
+       MarshelAs VarEnum Type.
+       * UCOMIStream.cs: ComImport Attribute (1.x)
+       * TypeLibFuncFlags.cs ComVisible Attribute (2.0)
+       * UnmanagedType.cs: ComVisible Attribute (2.0) + clean up
+       * UCOMIEnumConnections.cs: ComImport Attribute (1.0)
+       * LCIDConversionAttribute.cs: ComVisible Attribute (2.0)
+       * TypeLibFuncAttribute.cs: ComVisible Attribute (2.0)
+
+2006-05-02  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement BSTR methods
+
+2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
+
+       * SafeHandle.cs: Update to RTM api
+
+2005-11-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * DefaultParameterValueAttribute.cs: New file.
+
+2005-10-28  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Marshal.cs: Added null check in SecureStringTo* methods and make 
+       them throw a NotSupportedException otherwise (as existing code must
+       deal with this anyway). Fixed Uni -> Unicode method name changes.
+
+2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * UCOMIBindCtx.cs, UCOMIConnectionPoint.cs, 
+       UCOMIConnectionPointContainer.cs, UCOMIEnumConnectionPoints.cs,
+       UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
+       UCOMIEnumVARIANT.cs, UCOMIMoniker.cs, UCOMIPersistFile.cs, 
+       UCOMIRunningObjectTable.cs, UCOMIStream.cs, UCOMITypeComp.cs,
+       UCOMITypeInfo.cs, UCOMITypeLib.cs: Remove [ComImport] from the default
+       profile (this is new in 2.0) and reduce corcompare extras by 15.
+
+2005-09-21  Kornél Pál  <kornelpal@hotmail.com>
+
+       * UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
+         UCOMIStream.cs, UCOMITypeInfo.cs, UCOMITypeLib.cs, UnmanagedType.cs:
+         Removed UnmanagedType_80 that was required because mcs bug #75945
+         was not discovered.
+
+2005-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SetWin32ContextInIDispatchAttribute.cs: Make this attribute also
+       available in 1.0 profile (.NET 1.1).
+       * VariantWrapper.cs: Class is also exposed in .NET 1.1. Only 
+       serializable in 2.0 profile.
+
+2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * SafeHandle.cs: New file.
+
+2005-08-06  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * _Activator.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Assembly.cs: ComVisible should only be set in 2.0 profile. Added
+       TypeLibImportClass attribute. Fixes InterfaceType to match MS.NET.
+       * _AssemblyBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _AssemblyName.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Attribute.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ConstructorBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ConstructorInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _CustomAttributeBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EnumBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EventBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EventInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _FieldBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _FieldInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _ILGenerator.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _LocalBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _MemberInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods. 
+       * _MethodBase.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _MethodInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _MethodBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _MethodRental.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Module.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ModuleBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ParameterBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ParameterInfo.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _PropertyBuilder.cs: ComVisible should only be setin 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _PropertyInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _SignatureHelper.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Type.cs: Added TypeLibImportClass attribute. Fixed InterfaceType 
+       to match MS.NET. Added missing method to match MS.NET.
+       * _Thread.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _TypeBuilder:cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * Marshal.cs: Removed MarshalAs attribute from parameter to fix
+       API compatibility with MS.NET.
+       * TypeLibImportClassAttribute.cs: Added.
+
+2005-07-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * GCHandle.cs: Add 2.0 FromIntPtr/ToIntPtr methods.
+
+2005-06-08  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * RuntimeEnvironment.cs: I get better results when calling Demand.
+
+2005-06-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * RuntimeEnvironment.cs: Implemented TODO. Added security for CAS.
+
+2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Exception.cs: That one wasn't backported to 1.1 SP1 by MS. This
+       should fix a lot of extra reported in the API status pages.
+
+2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Add some missing 2.0 attributes.
+
+2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
+
+       * _Attribute.cs
+       * _ConstructorInfo.cs
+       * _EventInfo.cs
+       * _Exception.cs
+       * _FieldInfo.cs
+       * _MemberInfo.cs
+       * _MethodBase.cs
+       * _MethodInfo.cs
+       * _PropertyInfo.cs
+       * _Type.cs: Chance to .Net 1.1
+       * _Activator.cs
+       * _Assembly.cs
+       * _AssemblyBuilder.cs
+       * _AssemblyName.cs
+       * _ConstructorBuilder.cs
+       * _CustomAttributeBuilder.cs
+       * _EnumBuilder.cs
+       * _EventBuilder.cs
+       * _FieldBuilder.cs
+       * _ILGenerator.cs
+       * _LocalBuilder.cs
+       * _MethodBuilder.cs
+       * _MethodRental.cs
+       * _Module.cs
+       * _ModuleBuilder.cs
+       * _ParameterBuilder.cs
+       * _ParameterInfo.cs
+       * _PropertyBuilder.cs
+       * _SignatureHelper.cs
+       * _Thread.cs
+       * _TypeBuilder.cs: Added
+
+2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Attribute.cs: New. Interface for attributes in 2.0.
+
+2005-04-13  Marek Safar  <marek.safar@seznam.cz>
+
+       * DefaultCharSetAttribute.cs: Removed useless using.
+
+2005-03-31  Alp Toker  <alp@atoker.com>
+
+       * GCHandle.cs: Clearer ArgumentException text in the case of a
+       null-valued IntPtr argument.
+
+2005-03-04  Kazuki Oikawa  <kazuki@panicode.com>
+
+       * _Exception.cs
+       * BIND_OPTS.cs
+       * BINDPTR.cs
+       * CALLCONV.cs
+       * ComDefaultInterfaceAttribute.cs
+       * ComObjectInUseException.cs
+       * ComSourceInterfacesAttribute.cs
+       * CONNECTDATA.cs
+       * CriticalHandle.cs
+       * DefaultCharSetAttribute.cs
+       * DESCKIND.cs
+       * DISPPARAMS.cs
+       * ELEMDESC.cs
+       * EXCEPINFO.cs
+       * ExposeAsClassToComAttribute.cs
+       * FILETIME.cs
+       * FUNCDESC.cs
+       * FUNCFLAGS.cs
+       * FUNCKIND.cs
+       * GCHandle.cs
+       * ICustomAdapter.cs
+       * IDLDESC.cs
+       * IDLFLAG.cs
+       * IMPLTYPEFLAGS.cs
+       * INVOKEKIND.cs
+       * ITypeLibConverter.cs
+       * ITypeLibExporterNameProvider.cs
+       * ITypeLibExporterNotifySink.cs
+       * LIBFLAGS.cs
+       * PARAMDESC.cs
+       * PARAMFLAG.cs
+       * PrimaryInteropAssemblyAttribute.cs
+       * STATSTG.cs
+       * SYSKIND.cs
+       * TYPEATTR.cs
+       * TYPEDESC.cs
+       * TYPEFLAGS.cs
+       * TYPEKIND.cs
+       * TYPELIBATTR.cs
+       * TypeLibExporterFlags.cs
+       * TypeLibImporterFlags.cs
+       * UCOMIBindCtx.cs
+       * UCOMIConnectionPoint.cs
+       * UCOMIConnectionPointContainer.cs
+       * UCOMIEnumConnectionPoints.cs
+       * UCOMIEnumConnections.cs
+       * UCOMIEnumMoniker.cs
+       * UCOMIEnumString.cs
+       * UCOMIEnumVARIANT.cs
+       * UCOMIMoniker.cs
+       * UCOMIPersistFile.cs
+       * UCOMIRunningObjectTable.cs
+       * UCOMIStream.cs
+       * UCOMITypeComp.cs
+       * UCOMITypeInfo.cs
+       * UCOMITypeLib.cs
+       * UnmanagedFunctionPointerAttribute.cs
+       * VARDESC.cs
+       * VARFLAGS.cs
+       * VariantWrapper.cs: Added missing attributes.
+
+2005-03-03  Kazuki Oikawa  <kazuki@panicode.com>
+
+       * _ConstructorInfo.cs
+       * _EventInfo.cs
+       * _FieldInfo.cs
+       * _MemberInfo.cs
+       * _MethodBase.cs
+       * _MethodInfo.cs
+       * _PropertyInfo.cs
+       * _Type.cs
+       * BStrWrapper.cs
+       * ComDefaultInterfaceAttribute.cs
+       * ComObjectInUseException.cs
+       * CriticalHandle.cs
+       * DefaultCharSetAttribute.cs
+       * ExposeAsClassToComAttribute.cs
+       * RegistrationClassContext.cs
+       * RegistrationConnectionType.cs: Add
+
+2005-02-21  Zoltan Varga  <vargaz@freemail.hu>
+
+       * UnmanagedFunctionPointerAttribute.cs: Add #region directives.
+
+2005-02-21  Kazuki Oikawa  <kazuki@panicode.com>
+
+       * BIND_OPTS.cs, CONNECTEDATA.cs, DISPPARAMS.cs, ELEMDESC.cs,
+       EXCEPINFO.cs, FILETIME.cs, FUNCDESC.cs, STATSTG.cs, TYPEATTR.cs,
+       TYPELIBATTR.cs, UCOMIBindCtx.cs, UCOMIConnectionPoint.cs,
+       UCOMIEnumConnectionPoints.cs, UCOMIEnumConnections.cs,
+       UCOMIEnumMoniker.cs, UCOMIEnumString.cs, UCOMIEnumVARIANT.cs,
+       UCOMIMoniker.cs, UCOMIPersistFile.cs, UCOMIRunningObjectTable.cs,
+       UCOMIStream.cs, UCOMITypeInfo.cs, UCOMITypeLib.cs, VARDESC.cs:
+       Corrected the order of the fields and the methods.
+
+       * BIND_OPTS.cs, CALLCONV.cs, FILETIME.cs, FUNCDESC.cs, FUNCFLAGS.cs,
+       FUNCKIND.cs, IDLFLAG.cs, IMPLTYPEFLAGS.cs, LIBFLAGS.cs, PARAMFLAG.cs,
+       STATSTG.cs, SYSKIND.cs, TYPEFLAGS.cs, VarEnum.cs, VARFLAGS.cs:
+       Added missing attributes.
+
+Wed Feb 16 16:20:56 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * GCHandle.cs: check the domain of an handle target is correct.
+       Make the unallocated value 0, since that is the default value
+       for valuetypes.
+
+2005-02-10  Marek Safar  <marek.safar@seznam.cz>
+
+       * TypeLibVarAttribute.cs,
+       * TypeLibTypeAttribute.cs,
+       * ComSourceInterfacesAttribute.cs: Fix AttributeUsage flags.
+
+Sat Jan 29 12:48:03 CET 2005 Paolo Molaro <lupus@ximian.com>
+
+       * GCHandle.cs: update for runtime changes: the unallocated handle
+       is -1, now.
+
+2004-11-25  Raja R Harinath  <rharinath@novell.com>
+
+       * UnmanagedType.cs (mono_bootstrap_NativeTypeMax): Rename from
+       __mono_bootstrap_NativeTypeMax.  CSC doesn't like
+       [CLSCompliant(false)] on enum member.
+
+2004-09-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Implement GetDelegateForFunctionPointer.
+
+2004-09-29  Zoltan Varga  <vargaz@freemail.hu>
+
+       * UnmanagedFunctionPointerAttribute.cs: New file.
+
+       * Marshal.cs: Make GetFunctionPointerForDelegate icall private.
+
+       * MarshalAsAttribute.cs: Add 2.0 IidParamIndex field.
+
+2004-09-28  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Add some ReliabilityContractAttributes.
+       
+       * Marshal.cs (GetFunctionPointerForDelegate): Implement.
+
+       * Marshal.cs: Add stubs for missing 2.0 methods.
+
+2004-09-24  Zoltan Varga  <vargaz@freemail.hu>
+
+       * DllImportAttribute.cs: Reorder fields and mark this class as visible
+       to the runtime.
+
+2004-09-08  Marek Safar  <marek.safar@seznam.cz>
+
+       * Marshal.cs: Class is static in NET_2_0.
+
+2004-07-29  Lluis Sanchez Gual  <lluis@novell.com>
+
+       * RuntimeEnvironment.cs: Implemented SystemConfigurationFile and
+         GetSystemVersion().
+
+Wed Jul 14 19:28:57 CEST 2004 Paolo Molaro <lupus@ximian.com>
+
+       * GCHandle.cs: throw exception if the result from AddrOfPinnedObject()
+       is -1 (special value returned by the runtime).
+
+2004-07-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Exception.cs: New interface in Fx 2.0 to preserve member's order
+       for COM interop.
+
+2004-06-22  Raja R Harinath  <rharinath@novell.com>
+
+       Fix bootstrap with mcs 0.31.
+       * UnmanagedType.cs (UnmanagedType.__mono_bootstrap_NativeTypeMax): 
+       New bootstrap-only constant.
+
+2004-06-18  Raja R Harinath  <rharinath@novell.com>
+
+       Fix breaking build (see tests/test-272.cs).  Since corlib is a
+       bootstrap library, we have to keep this fix even if the in-tree
+       mcs compiler is fixed.
+       * UCOMIEnumConnections.cs: Replace '(UnmanagedType) 80' in
+       attribute field initialization with Consts.UnmanagedType_80.
+       * UCOMIEnumMoniker.cs: Likewise.
+       * UCOMIEnumString.cs: Likewise.
+       * UCOMIStream.cs: Likewise.
+       * UCOMITypeInfo.cs: Likewise.
+       * UCOMITypeLib.cs: Likewise.
+
+2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * BINDPTR.cs: have layout and charset match MS.NET
+       * CONNECTDATA.cs: have layout and charset match MS.NET
+       * DISPPARAMS.cs: have layout and charset match MS.NET
+       * ELEMDESC.cs: have layout and charset match MS.NET
+       * EXCEPINFO.cs: have layout and charset match MS.NET
+       * IDLDESC.cs: have layout and charset match MS.NET
+       * PARAMDESC.cs: have layout and charset match MS.NET
+       * STATSTG.cs: have layout and charset match MS.NET
+       * TYPEATTR.cs: have layout and charset match MS.NET
+       * TYPEDESC.cs: have layout and charset match MS.NET
+       * TYPELIBATTR.cs: have layout and charset match MS.NET
+       * VARDESC.cs: have layout and charset match MS.NET
+
+2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * ArrayWithOffset.cs: fixed GetOffset to return int instead of
+       object
+       * CONNECTDATA.cs: added missing MarshalAs attribute
+       * EXCEPINFO.cs: added missing MarshalAs attributes
+       * ITypeLibConverter.cs: added missing MarshalAs attributes
+       * ITypeLibImporterNotifySink.cs: added missing MarshalAs attributes
+       * Marshal.cs: added missing MarshalAs attributues, and missing
+       Out attributes
+       * TypeLibConverter.cs: added missing MarshalAs attributes
+       * UCOMIBindCtx.cs: added missing MarshalAs attributes
+       * UCOMIConnectionPoint.cs: added missing MarshalAs attributes
+       * UCOMIEnumConnectionPoints.cs: added missing MarshalAs attributes
+       * UCOMIEnumConnections.cs: added missing PreserveSig attributes,
+       added missing MarshalAs attributes
+       * UCOMIEnumMoniker.cs: added missing PreserveSig attributes,
+       added missing MarshalAs attributes
+       * UCOMIEnumString.cs: added missing PreserveSig attributes,
+       added missing MarshalAs attributes
+       * UCOMIMoniker.cs: added missing MarshalAs attributes
+       * UCOMIPersistFile.cs: added missing PreserveSig attribute,
+       added missing MarshalAs attributes
+       * UCOMIRunningObjectTable.cs: added missing MarshalAs attributes
+       * UCOMIStream.cs: added missing MarshalAs attributes
+       * UCOMITypeComp.cs: added missing MarshalAs attributes
+       * UCOMITypeInfo.cs: added missing MarshalAs attributes
+       * UCOMITypeLib.cs: added missing PreserveSig attributes, added
+       missing MarshalAs attributes
+
+2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * MarshalDirectiveException.cs: marked serializable to match MS.NET
+       * SafeArrayRankMismatchException.cs: marked serializable to match
+       MS.NET
+       * SafeArrayTypeMismatchException.cs: marked serializable to match
+       MS.NET
+
+2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * InvalidComObjectException.cs: marked serializable to match MS.NET
+       * InvalidOleVarianTypeException.cs: marked serializable to match
+       MS.NET
+
+2004-06-17  Gert Driesen <drieseng@users.sourceforge.net>
+
+       * BestFitMappingAttribute.cs: removed serializable attribute
+       to match MS.NET
+
+2004-05-30  Gert Driesen (drieseng@users.sourceforge.net)
+
+       * SetWin32ContextInIDispatchAttribute.cs: only build
+       for NET_2_0 profile
+       * VariantWrapper.cs: only build for NET_2_0 profile
+
+2004-05-29  Gert Driesen (drieseng@users.sourceforge.net)
+
+       * SetWin32ContextInIDispatchAttribute.cs: added
+       * VariantWrapper.cs: added
+
+2004-05-19  Gert Driesen (drieseng@users.sourceforge.net)
+
+        * AutomationProxyAttribute.cs
+        * BestFitMappingAttribute.cs
+        * ClassInterfaceAttribute.cs
+        * CoClassAttribute.cs
+        * ComAliasNameAttribute.cs
+        * ComCompatibleVersionAttribute.cs
+       * ComConversionLossAttribute.cs
+       * ComEventInterfaceAttribute.cs
+       * ComImportAttribute.cs
+       * ComRegisterFunctionAttribute.cs
+       * ComSourceInterfaceAttribute.cs
+       * ComUnregisterFunctionAttribute.cs
+       * Comvisible.cs
+       * DispIdAttribute.cs
+       * DllImportAttribute.cs
+       * FieldOffsetAttribute.cs
+       * GuidAttribute.cs
+       * IDispatchImplAttribute.cs
+       * ImportedFromTypeLibAttribute.cs
+       * InAttribute.cs
+       * InterfaceTypeAttribute.cs
+       * LCIDConversionAttribute.cs
+       * MarshalAsAttribute.cs
+       * OptionalAttribute.cs
+       * OutAttribute.cs
+       * PreserveSigAttribute.cs
+       * PrimaryInteropAssemblyAttribute.cs
+       * ProgIdAttribute.cs
+       * StructLayoutAttribute.cs
+       * TypeLibFuncAttribute.Cs
+       * TypeLibTypeAttribute.cs
+       * TypeLibVarAttribute.cs
+       * TypeLibVersionAttribute.cs now that Inherited is 
+       false by default on AttributeUsageAttribute (as it 
+       should be) we need to explicitly set Inherited to 
+       false for those attributes should where it should be
+       false.
+
+2004-05-06  Mike Shaver  <shaver@off.net>
+       * Marshal.cs: Implement StringToCoTaskMem{Ansi,Uni}
+
+2004-05-05  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Applied patch from vladimir@pobox.com (Vladimir Vukicevic). Implement UnsafeAddrOfPinnedArrayElement.
+
+2004-01-30  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Implement AllocCoTaskMem and FreeCoTaskMem.
+
+2003-11-26  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * DispatchWrapper.cs: Added and implemented
+       * ErrorWrapper.cs: Fixed bug
+       * Marshal.cs: Added missing members
+
+2003-11-18  Jackson Harper <jackson@ximian.com>
+
+       * CurrencyWrapper.cs: Fix file name.
+       
+2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * BestFitMappingAttribute.cs: Signature fix
+       * Marshal.cs: Add attribute, fix signatures
+       * MarshalAsAttribute.cs: Add head, add entry
+       * DllImportAttribute.cs: Added v1.1 entries
+       * TypeLibConverter.cs: Added, stubbed
+       * RegistrationServices.cs: Added, stubbed
+       * ExtensibleClassFactory.cs: Added, stubbed
+       * ErrorWrapper.cs: Added, implemented
+       * CurrencyWrapper.cs: Added, implemented
+
+2003-11-13  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * IRegistrationServices.cs:
+       * ITypeLibConverter.cs:
+       * ITypeLibExporterNameProvider.cs:
+       * ITypeLibExporterNotifySink.cs:
+       * ITypeLibImporterNotifySink.cs: Added missing attribute
+       * UCOMIBindCtx.cs: Added missing attribute, fixed in attribute
+       * UCOMIConnectionPoint.cs:
+       * UCOMIConnectionPointContainer.cs:
+       * UCOMIEnumConnectionPoints.cs:
+       * UCOMIEnumConnections.cs:
+       * UCOMIEnumMoniker.cs:
+       * UCOMIEnumString.cs:
+       * UCOMIEnumVARIANT.cs:
+       * UCOMIMoniker.cs:
+       * UCOMIPersistFile.cs:
+       * UCOMIRunningObjectTable.cs:
+       * UCOMIStream.cs:
+       * UCOMITypeComp.cs:
+       * UCOMITypeInfo.cs:
+       * UCOMITypeLib.cs: Added missing attribute
+
+2003-08-06  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * UCOMIBindCtx.cs: Added and implemented
+       * UCOMIConnectionPoint.cs: Added and implemented
+       * UCOMIConnectionPointContainer.cs: Added and implemented
+       * UCOMIEnumConnectionPoints.cs: Added and implemented
+       * UCOMIEnumConnections.cs: Added and implemented
+       * UCOMIEnumMoniker.cs: Added and implemented
+       * UCOMIEnumString.cs: Added and implemented
+       * UCOMIEnumVARIANT.cs: Added and implemented
+       * UCOMIMoniker.cs: Added and implemented
+       * UCOMIPersistFile.cs: Added and implemented
+       * UCOMIRunningObjectTable.cs: Added and implemented
+       * UCOMIStream.cs: Added and implemented
+
+       * UCOMTypeComp.cs: renamed
+       * UCOMTypeInfo.cs: renamed
+       * UCOMTypeLib.cs: renamed
+
+       * ITypeLibConverter.cs: Fixed interface signature
+
+       * ComSourceInterfacesAttribute.cs: Added and implemented
+       * IDispatchImplAttribute.cs: Added and implemented
+       * InvalidComObjectException.cs: Added and implemented
+       * InvalidOleVariantTypeException.cs: Added and implemented
+       * MarshalDirectiveException.cs: Added and implemented
+       * SafeArrayRankMismatchException.cs: Added and implemented
+       * SafeArrayTypeMismatchException.cs: Added and implemented
+       * SEHException.cs: Added attribute
+       * UnknownWrapper.cs: Added and implemented
+
+       * BIND_OPTS.cs:
+       * CONNECTDATA.cs:
+       * ELEMDESC.cs:
+       * FILETIME.cs:
+       * FUNCDESC.cs:
+       * IDLDESC.cs:
+       * PARAMDESC.cs:
+       * STATSTG.cs:
+       * TYPEATTR.cs:
+       * TYPEDESC.cs:
+       * TYPELIBATTR.cs:
+       * VARDESC.cs: Added and implemented
+
+       * CALLCONV.cs:
+       * FUNCFLAGS.cs:
+       * FUNCKIND.cs:
+       * IDispatchImplType.cs:
+       * IDLFLAG.cs:
+       * IMPLTYPEFLAGS.cs:
+       * LIBFLAGS.cs:
+       * PARAMFLAG.cs:
+       * SYSKIND.cs:
+       * TYPEFLAGS.cs: 
+       * TypeLibImporterFlags.cs:
+       * VARFLAGS.cs: Added and implemented
+
+2003-07-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
+
+       * ComCompatibleVersionAttribute.cs: Added and implemented
+       * TypeLibVersionAttribute.cs: Added and implemented
+
+Wed Jun 18 12:49:54 CEST 2003 Paolo Molaro <lupus@ximian.com>
+
+       * Marshal.cs: implemented Prelink with icalls.
+
+2003-04-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * RuntimeEnvironment.cs: New file. Stubbed by Dominik Fretz
+       (roboto@gmx.net).
+
+2003-03-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * ExternalException.cs: doesn't need a field to keep the result code.
+       * SEHException.cs: implemented.
+
+2003-03-03  Tim Coleman <tim@timcoleman.com>
+       * HandleRef.cs: Add this struct
+
+2003-01-05  Sebastien Pouliot <spouliot@videotron.ca>
+
+       * COMException.cs: New. Minimal (incomplete - i'm not using COM)
+       implementation because this is thrown when dealing with Software 
+       Publisher Certificates (SPC) in X509Certificate.
+
+2002-08-22  Nick Drochak  <ndrochak@gol.com>
+
+       * OutAttribute.cs: TypeID isn't overriden from Attribute here.
+       * PInvokeMap.cs: Non-existent enum.  Must be from beta days.
+
+2002-06-24  root  <dietmar@ximian.com>
+
+       * Marshal.cs: impl. Copy()
+
+Fri Jun 14 16:18:50 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * UnmanagedType.cs, Marshal.cs: minor fixes.
+
+Wed Jun 12 16:32:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * Marshal.c: stubbed out all the methods and filled in some
+       implementation.
+       * BINDPTR.cs, ComMemberType.cs, DESCKIND.cs, DISPPARAMS.cs,
+       EXCEPINFO.cs, INVOKEKIND.cs, TYPEKIND.cs, UCOMTypeInfo.cs,
+       UCOMTypeLib.cs: enums, interfaces and structs needed in Marshal class.
+
+Tue Jun 4 18:05:30 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * GCHandle.cs: changed to fit spec and implementation needs.
+
+Tue May 14 16:35:13 CEST 2002 Paolo Molaro <lupus@ximian.com>
+
+       * CharSet.cs: added missing None enum item.
+
+2002-04-26  Joe Shaw  <joe@ximian.com>
+
+       * Marshal.cs (StructureToPtr): stub this out.
+
+2002-04-23  Joe Shaw  <joe@ximian.com>
+
+       * Marshal.cs: Stub out a few functions to get gtk# to build.
+
+2002-04-22  Duncan Mak  <duncan@ximian.com>
+
+       * ImporterEventKind.cs: 
+       * TypeLibFuncFlags.cs:
+       * TypeLibTypeFlags.cs:
+       * TypeLibVarFlags.cs: Fixed various typos and added missing elements.
+
+       * ComConventionLossAttribute.cs: Removed, there's a typo.
+       * ComConversionLossAttribute.cs: Same attribute, slight change of name.
+
+       * PreserveSigAttribute.cs:
+       * ImportedFromTypeLibAttribute.cs: Added missing AttributeUsage
+       attribute.
+
+       * TypeLibFuncAttribute.cs:
+       * TypeLibTypeAttribute.cs:
+       * TypeLibVarAttribute.cs: Added missing constructors. 
+       
+       
+2002-04-22  Duncan Mak  <duncan@ximian.com>
+
+       * AutomationProxyAttribute.cs: 
+       * CoClassAttribute.cs: 
+       * ComAliasNameAttribute.cs: 
+       * ComConventionLossAttribute.cs: 
+       * ComEventInterfaceAttribute.cs: 
+       * ComImportAttribute.cs: 
+       * ComRegisterFunctionAttribute.cs: 
+       * ComUnregisterFunctionAttribute.cs: 
+       * DispIdAttribute.cs: 
+       * ImportedFromTypeLibAttribute.cs: 
+       * LCIDConversionAttribute.cs: 
+       * PreserveSigAttribute.cs: 
+       * PrimaryInteropAssemblyAttribute.cs: 
+       * ProgIdAttribute.cs: 
+       * TypeLibFuncAttribute.cs: 
+       * TypeLibFuncFlags.cs: 
+       * TypeLibTypeAttribute.cs: 
+       * TypeLibTypeFlags.cs: 
+       * TypeLibVarAttribute.cs: 
+       * TypeLibVarFlags.cs:  Added to CVS.
+
+2002-04-08  Nick Drochak  <ndrochak@gol.com>
+
+       * Marshal.cs: Make class public.
+       * ComVisible.cs: New File.
+
+2002-03-24  Nick Drochak  <ndrochak@gol.com>
+
+       * ClassInterfaceAttribute.cs:
+       * ClassInterfaceType.cs: New Files.
+
+2002-02-27  Duncan Mak  <duncan@ximian.com>
+
+       * ExporterEventKind.cs:
+       * ITypeLibConverter.cs:
+       * ITypeLibImporterNotifySink.cs: Added to CVS for Kevin Winchester <kwin@ns.sympatico.ca>.
+
+2002-02-26  Duncan Mak  <duncan@ximian.com>
+
+       * ComInterfaceType.cs: Added to CVS.
+
+       * AssemblyRegistrationFlags.cs:
+       * GuidAttribute.cs:
+       * ICustomAdapter.cs:
+       * ICustomFactory.cs:
+       * ICustomMarshaler.cs: 
+       * IRegistrationServices.cs:
+       * ITypeLibExporterNameProvider.cs:
+       * ITypeLibImporterNotifySink.cs:
+       * InterfaceTypeAttribute.cs:
+       * TypeLibExporterFlags.cs: Committed for Kevin Winchester <kwin@ns.sympatico.ca>.
+       
+       * GCHandle.cs: Added to CVS. Patch from Ajay kumar Dwivedi.
+
+       * GCHandleType.cs: Committed patch from Ajay.
+
+       * ImporterEventKind.cs: Added to CVS.
+
+2002-01-24  Miguel de Icaza  <miguel@ximian.com>
+
+       * StructLayoutAttribute.cs: Flag attribute as targetting structs
+       or classes. 
+       
+       * InAttribute.cs: Flag attribute as targettting a paramter
+
+       * OutAttribute.cs: ditto.
+       
+       * DllImportAttribute.cs: Flag attribute as targetting methods.
+       
+       * MarshalAsAttribute.cs: Flag attribute as targetting fields,
+       parameters and returnvalues.
+
+2002-01-23  Dick Porter  <dick@ximian.com>
+
+       * Marshal.cs: Added GetLastWin32Error()
+
+       * ExternalException.cs: Implemented
+
+2002-01-17  Miguel de Icaza  <miguel@ximian.com>
+
+       * ExternalException.cs: Add ExternalException.
+
+2002-01-05  Ravi Pratap  <ravi@ximian.com>
+
+       * OutAttribute.cs : Decorate with MonoTODO.
+       
+Thu Dec 20 15:46:31 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * FieldOffsetAttribute.cs, InAttribute.cs, MarshalAsAttribute.cs,
+       OptionalAttribute.cs, StructLayoutAttribute.cs, VarEnum.cs:
+       more stuff needed by the compiler.
+
+Thu Dec 13 20:22:18 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * DllImportAttribute.cs: added.
+       * MethodImplOptions.cs: removed: this is already in CompilerServices.
+
+Wed Nov 14 17:02:57 CET 2001 Paolo Molaro <lupus@ximian.com>
+
+       * CallingConvention.cs: add missing Winapi.
+
+2001-07-20  Miguel de Icaza  <miguel@ximian.com>
+
+       * OutAttribute.cs: New file.
+
+2001-07-18  Michael Lambert <michaellambert@email.com>
+
+       * CallingConvention.cs.cs, CharSet.cs, GCHandleType.cs, LayoutKind.cs: Add.