In corlib/System.Runtime.InteropServices:
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / ChangeLog
index 724ab538b20b4735efc91aec4051e5f518f4b55c..1d06fc7a16e0bd455e7b09a4eb10b437981d8215 100644 (file)
@@ -1,3 +1,217 @@
+2007-03-12  Raja R Harinath  <rharinath@novell.com>
+
+       * DefaultParameterValueAttribute.cs: Move to System.dll.
+
+2007-02-08  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Throw exceptions for AddRef, Release,
+       and QueryInterface in managed code. Implement GetComInterfaceForObject,
+       GetIDispatchForObject, GetIUnknownForObject, GetObjectForIUnknown, 
+       GetObjectsForNativeVariants, IsComObject, ReleaseComObject, and 
+       FinalReleaseComObject. Unimplement GetComObjectData and SetComObjectData
+       for now to save space and simplify __ComObject for now. MSDN states the 
+       user should never call these methods anyway.
+       
+2007-01-29  Marek Habersack  <grendello@gmail.com>
+
+       * Marshal.cs: Implement a missing Marshal.Copy overload.
+
+2007-01-11  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implement Marshal.ReAllocCoTaskMem.
+       
+2007-01-03  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Do not use locks in SafeHandle to protect the
+       access to the refcount, use Interlocked.CompareExchange.  The
+       locks were the source of problems with domain finalization when
+       this code was enabled.
+
+       This should fix Matt Hargett's bug report with a full `make check'
+       that reported variations of:
+
+       ** (../../class/lib/net_2_0/nunit-console.exe:29644): WARNING **:
+       Finalization of domain <domainname> timed out.
+
+       Also, it is a lot lighther.
+
+2006-12-21  Miguel de Icaza  <miguel@novell.com>
+
+       * CriticalHandle.cs: Add Dispose(bool disposing) method, and
+       refactor. 
+
+2006-12-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Marshal.cs: Use SystemDefaultCharSize to determine whether to
+       use Ansi or Unicode variant of StringToCoTaskMem.
+
+2006-12-15  Miguel de Icaza  <miguel@novell.com>
+
+       * Marshal.cs (SecureStringToCoTaskMemAnsi, SecureStringToBSTR,
+       SecureStringToCoTaskMemUnicode, ZeroFreeCoTaskMemAnsi,
+       ZeroFreeCoTaskMemUnicode, ZeroFreeGlobalAllocAnsi,
+       ZeroFreeGlobalAllocUnicode): Implement.
+
+       (StringToCoTaskAuto): return the same as Ansi.  
+
+       The ANSI code is out of sync with Mono, which treats ANSI as
+       UTF-8. 
+
+       Code formatting changes
+
+2006-12-11  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Fix a handful of bugs, and add tests for them.
+       Only release the handle if its owned by us.  Also throw
+       ObjectDisposedException's
+
+       Implement finalizer.
+
+       DangerousAddRef will now throw an exception if the object was
+       disposed.
+
+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.