Author: kazuki
Date: 2005-03-03 21:29:18 -0500 (Thu, 03 Mar 2005)
New Revision: 41421

Modified:
   trunk/mcs/class/corlib/System.Runtime.InteropServices/BINDPTR.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/BIND_OPTS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/CALLCONV.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/CONNECTDATA.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComDefaultInterfaceAttribute.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComObjectInUseException.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComSourceInterfacesAttribute.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/DESCKIND.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/DISPPARAMS.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/DefaultCharSetAttribute.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/ELEMDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/EXCEPINFO.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ExposeAsClassToComAttribute.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/FILETIME.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCFLAGS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCKIND.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/GCHandle.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLFLAG.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/IMPLTYPEFLAGS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/INVOKEKIND.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibConverter.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/LIBFLAGS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMFLAG.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/STATSTG.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/SYSKIND.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEATTR.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEFLAGS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEKIND.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPELIBATTR.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibExporterFlags.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibImporterFlags.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIBindCtx.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPoint.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPointContainer.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnectionPoints.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnections.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumMoniker.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumString.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumVARIANT.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIMoniker.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIPersistFile.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIRunningObjectTable.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIStream.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeComp.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeInfo.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeLib.cs
   
trunk/mcs/class/corlib/System.Runtime.InteropServices/UnmanagedFunctionPointerAttribute.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/VARDESC.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/VARFLAGS.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs
   trunk/mcs/class/corlib/System.Runtime.InteropServices/_Exception.cs
Log:
2005-03-04  Kazuki Oikawa  <[EMAIL PROTECTED]>

        * _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.

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/BINDPTR.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/BINDPTR.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/BINDPTR.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible(false)]
        [StructLayout (LayoutKind.Explicit, CharSet = CharSet.Unicode)]
        public struct BINDPTR {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/BIND_OPTS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/BIND_OPTS.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/BIND_OPTS.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential)]
        public struct BIND_OPTS

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/CALLCONV.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/CALLCONV.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/CALLCONV.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable]
        [ComVisible (false)]
        public enum CALLCONV

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/CONNECTDATA.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/CONNECTDATA.cs        
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/CONNECTDATA.cs        
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct CONNECTDATA

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog     
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/ChangeLog     
2005-03-04 02:29:18 UTC (rev 41421)
@@ -1,3 +1,66 @@
+2005-03-04  Kazuki Oikawa  <[EMAIL PROTECTED]>
+
+       * _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  <[EMAIL PROTECTED]>
 
        * _ConstructorInfo.cs

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComDefaultInterfaceAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComDefaultInterfaceAttribute.cs
       2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComDefaultInterfaceAttribute.cs
       2005-03-04 02:29:18 UTC (rev 41421)
@@ -11,6 +11,7 @@
 
 namespace System.Runtime.InteropServices
 {
+       [AttributeUsage (AttributeTargets.Class)]
        public sealed class ComDefaultInterfaceAttribute : Attribute
        {
                Type _type;

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComObjectInUseException.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComObjectInUseException.cs
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComObjectInUseException.cs
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -12,6 +12,7 @@
 
 namespace System.Runtime.InteropServices
 {
+       [Serializable]
        public class ComObjectInUseException : SystemException
        {
                private const int ErrorCode = -2146233046;

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComSourceInterfacesAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComSourceInterfacesAttribute.cs
       2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ComSourceInterfacesAttribute.cs
       2005-03-04 02:29:18 UTC (rev 41421)
@@ -33,8 +33,12 @@
 
 namespace System.Runtime.InteropServices
 {
-       [AttributeUsage (AttributeTargets.Class, 
-                        AllowMultiple = false, Inherited = false)]
+       [AttributeUsage (AttributeTargets.Class, AllowMultiple = false,
+#if NET_2_0
+                       Inherited = true)]
+#else
+                       Inherited = false)]
+#endif
        public sealed class ComSourceInterfacesAttribute : Attribute
        {
                private string internalValue;

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs     
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs     
2005-03-04 02:29:18 UTC (rev 41421)
@@ -28,11 +28,13 @@
                        Dispose ();
                }
 
+               [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                public void Close ()
                {
                        Dispose ();
                }
 
+               [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                public void Dispose ()
                {
                        if (_disposed)
@@ -49,23 +51,30 @@
                        }
                }
 
+               [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                protected abstract bool ReleaseHandle ();
 
+               [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                protected void SetHandle (IntPtr handle)
                {
                        this.handle = handle;
                }
 
+               [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                public void SetHandleAsInvalid()
                {
                        _disposed = true;
                }
 
                public bool IsClosed {
+                       [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
                        get { return _disposed; }
                }
 
-               public abstract bool IsInvalid {get;}
+               public abstract bool IsInvalid {
+                       [ReliabilityContract (Consistency.WillNotCorruptState, 
CER.Success)]
+                       get;
+               }
        }
 }
 #endif
\ No newline at end of file

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/DESCKIND.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/DESCKIND.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/DESCKIND.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,7 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
-
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable]
        [ComVisible(false)]
        public enum DESCKIND {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/DISPPARAMS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/DISPPARAMS.cs 
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/DISPPARAMS.cs 
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible(false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct DISPPARAMS {

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/DefaultCharSetAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/DefaultCharSetAttribute.cs
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/DefaultCharSetAttribute.cs
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -13,6 +13,7 @@
 
 namespace System.Runtime.InteropServices
 {
+       [AttributeUsage (AttributeTargets.Module)]
        public class DefaultCharSetAttribute : Attribute
        {
                CharSet _set;

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/ELEMDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/ELEMDESC.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/ELEMDESC.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct ELEMDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/EXCEPINFO.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/EXCEPINFO.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/EXCEPINFO.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible(false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct EXCEPINFO {

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ExposeAsClassToComAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ExposeAsClassToComAttribute.cs
        2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ExposeAsClassToComAttribute.cs
        2005-03-04 02:29:18 UTC (rev 41421)
@@ -11,6 +11,7 @@
 
 namespace System.Runtime.InteropServices
 {
+       [AttributeUsage (AttributeTargets.Struct)]
        public class ExposeAsClassToComAttribute : Attribute
        {
                public ExposeAsClassToComAttribute ()

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/FILETIME.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/FILETIME.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/FILETIME.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential)]
        public struct FILETIME

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCDESC.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCDESC.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential)]
        public struct FUNCDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCFLAGS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCFLAGS.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCFLAGS.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Flags, Serializable, ComVisible (false)]
        public enum FUNCFLAGS
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCKIND.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCKIND.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/FUNCKIND.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable]
        [ComVisible (false)]
        public enum FUNCKIND

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/GCHandle.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/GCHandle.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/GCHandle.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -133,6 +133,21 @@
                
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                private extern static IntPtr GetAddrOfPinnedObject(int handle);
+
+#if NET_2_0
+               public override bool Equals(object o)
+               {
+                       if (o == null || !(o is GCHandle))
+                               return false;
+
+                       return (handle == ((GCHandle)o).handle);
+               }
+
+               public override int GetHashCode()
+               {
+                       return handle.GetHashCode ();
+               }
+#endif
        } 
 }
 

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs     
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs     
2005-03-04 02:29:18 UTC (rev 41421)
@@ -33,6 +33,7 @@
 namespace System.Runtime.InteropServices {
 
        public interface ICustomAdapter {
+               [return: MarshalAs (UnmanagedType.IUnknown)]
                object GetUnderlyingObject ();
        }
 }

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLDESC.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLDESC.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct IDLDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLFLAG.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLFLAG.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/IDLFLAG.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Flags, Serializable, ComVisible (false)]
        public enum IDLFLAG
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/IMPLTYPEFLAGS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/IMPLTYPEFLAGS.cs      
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/IMPLTYPEFLAGS.cs      
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Flags, Serializable, ComVisible (false)]
        public enum IMPLTYPEFLAGS
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/INVOKEKIND.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/INVOKEKIND.cs 
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/INVOKEKIND.cs 
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,7 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
-
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable]
        [ComVisible(false)]
        public enum INVOKEKIND {

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibConverter.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibConverter.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibConverter.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -38,6 +38,7 @@
        [Guid("F1C3BF78-C3E4-11D3-88E7-00902754C43A")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface ITypeLibConverter {
+               [return: MarshalAs(UnmanagedType.Interface)]
                object ConvertAssemblyToTypeLib (Assembly assembly, string 
typeLibName, TypeLibExporterFlags flags, ITypeLibExporterNotifySink notifySink);
                AssemblyBuilder ConvertTypeLibToAssembly 
([MarshalAs(UnmanagedType.Interface)] object typeLib, string asmFileName, int 
flags, ITypeLibImporterNotifySink notifySink, byte[] publicKey, 
StrongNameKeyPair keyPair, bool unsafeInterfaces);
                AssemblyBuilder ConvertTypeLibToAssembly 
([MarshalAs(UnmanagedType.Interface)] object typeLib, string asmFileName, 
TypeLibImporterFlags flags, ITypeLibImporterNotifySink notifySink, byte[] 
publicKey, StrongNameKeyPair keyPair, string asmNamespace, Version asmVersion);

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
       2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
       2005-03-04 02:29:18 UTC (rev 41421)
@@ -35,6 +35,7 @@
        [Guid("fa1f3615-acb9-486d-9eac-1bef87e36b09")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface ITypeLibExporterNameProvider {
+               [return: MarshalAs (UnmanagedType.SafeArray, SafeArraySubType = 
VarEnum.VT_LPWSTR)]
                string[] GetNames ();
 
        }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
 2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
 2005-03-04 02:29:18 UTC (rev 41421)
@@ -38,6 +38,7 @@
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface ITypeLibExporterNotifySink {
                void ReportEvent (ExporterEventKind eventKind, int eventCode, 
string eventMsg);
+               [return: MarshalAs(UnmanagedType.Interface)]
                object ResolveRef (Assembly assembly);
        }
 }

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/LIBFLAGS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/LIBFLAGS.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/LIBFLAGS.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Flags, Serializable, ComVisible (false)]
        public enum LIBFLAGS
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMDESC.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMDESC.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct PARAMDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMFLAG.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMFLAG.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/PARAMFLAG.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Flags, Serializable, ComVisible (false)]
        public enum PARAMFLAG
        {

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -33,7 +33,11 @@
 
 namespace System.Runtime.InteropServices {
 
-       [AttributeUsage (AttributeTargets.Assembly, Inherited=false)]
+       [AttributeUsage (AttributeTargets.Assembly, Inherited=false
+#if NET_2_0
+               , AllowMultiple = true
+#endif
+       )]
        public sealed class PrimaryInteropAssemblyAttribute : Attribute
        {
                int major, minor;

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/STATSTG.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/STATSTG.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/STATSTG.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible(false)]
        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct STATSTG

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/SYSKIND.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/SYSKIND.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/SYSKIND.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable, ComVisible (false)]
        public enum SYSKIND
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEATTR.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEATTR.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEATTR.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct TYPEATTR

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEDESC.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEDESC.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct TYPEDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEFLAGS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEFLAGS.cs  
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEFLAGS.cs  
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable, ComVisible (false), Flags]
        public enum TYPEFLAGS
        {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEKIND.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEKIND.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPEKIND.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,7 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
-
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable]
        [ComVisible(false)]
        public enum TYPEKIND { 

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPELIBATTR.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPELIBATTR.cs        
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/TYPELIBATTR.cs        
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+       [Serializable]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct TYPELIBATTR

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibExporterFlags.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibExporterFlags.cs   
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibExporterFlags.cs   
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -35,5 +35,12 @@
        [Flags] [Serializable]
        public enum TypeLibExporterFlags {
                OnlyReferenceRegistered = 1,
+#if NET_2_0
+               None = 0,
+               CallerResolvedReferences = 2,
+               OldNames = 4,
+               ExportAs32Bit = 16,
+               ExportAs64Bit = 32
+#endif
        }
 }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibImporterFlags.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibImporterFlags.cs   
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/TypeLibImporterFlags.cs   
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -38,6 +38,14 @@
                PrimaryInteropAssembly = 1,
                UnsafeInterfaces = 2,
                SafeArrayAsSystemArray = 4,
-               TransformDispRetVals = 8
+               TransformDispRetVals = 8,
+#if NET_2_0
+               None = 0,
+               PreventClassMembers = 16,
+               PlatformLegacy = 4096,
+               PlatformLibrary = 8192,
+               PlatformAppDomain = 16384,
+               PlatformProcess = 32768
+#endif
        }
 }

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIBindCtx.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIBindCtx.cs       
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIBindCtx.cs       
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("0000000e-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIBindCtx

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPoint.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPoint.cs   
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPoint.cs   
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("b196b286-bab4-101a-b69c-00aa00341d07")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIConnectionPoint

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPointContainer.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPointContainer.cs
      2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIConnectionPointContainer.cs
      2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("b196b284-bab4-101a-b69c-00aa00341d07")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIConnectionPointContainer

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnectionPoints.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnectionPoints.cs
  2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnectionPoints.cs
  2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,15 +32,25 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("b196b285-bab4-101a-b69c-00aa00341d07")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIEnumConnectionPoints
        {
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Next (int celt, [Out, MarshalAs (UnmanagedType.LPArray, 
SizeParamIndex = 0)] UCOMIConnectionPoint[] rgelt, out int pceltFetched);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Skip (int celt);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Reset ();
                void Clone (out UCOMIEnumConnectionPoints ppenum);
        }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnections.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnections.cs   
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumConnections.cs   
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,15 +32,25 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("b196b287-bab4-101a-b69c-00aa00341d07")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIEnumConnections
        {
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Next (int celt, [Out, MarshalAs(UnmanagedType.LPArray, 
ArraySubType=Consts.UnmanagedType_80, SizeParamIndex=0)] CONNECTDATA[] rgelt, 
out int pceltFetched);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Skip (int celt);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                void Reset ();
                void Clone (out UCOMIEnumConnections ppenum);
        }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumMoniker.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumMoniker.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumMoniker.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,15 +32,25 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("00000102-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIEnumMoniker
        {
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Next (int celt, [Out, MarshalAs(UnmanagedType.LPArray, 
ArraySubType = Consts.UnmanagedType_80, SizeParamIndex = 0)] UCOMIMoniker[] 
rgelt, out int pceltFetched);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Skip (int celt);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Reset ();
                void Clone (out UCOMIEnumMoniker ppenum);
        }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumString.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumString.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumString.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,15 +32,25 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("00000101-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIEnumString
        {
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Next (int celt, [Out, MarshalAs (UnmanagedType.LPArray, 
ArraySubType = Consts.UnmanagedType_80, SizeParamIndex = 0)] string[] rgelt, 
out int pceltFetched);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Skip (int celt);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Reset ();
                void Clone (out UCOMIEnumString ppenum);
        }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumVARIANT.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumVARIANT.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIEnumVARIANT.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,15 +32,25 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("00020404-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIEnumVARIANT
        {
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Next (int celt, int rgvar, int pceltFetched);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Skip (int celt);
-               [PreserveSigAttribute]
+#if NET_2_0
+               [PreserveSig]
+#endif
                int Reset ();
                void Clone (int ppenum);
        }

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIMoniker.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIMoniker.cs       
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIMoniker.cs       
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,12 +32,18 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("0000000f-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIMoniker
        {
                void GetClassID (out Guid pClassID);
+#if NET_2_0
                [PreserveSig]
+#endif
                int IsDirty ();
                void Load (UCOMIStream pStm);
                void Save (UCOMIStream pStm, [MarshalAs (UnmanagedType.Bool)] 
bool fClearDirty);

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIPersistFile.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIPersistFile.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIPersistFile.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,12 +32,18 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("0000010b-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIPersistFile
        {
                void GetClassID (out Guid pClassID);
+#if NET_2_0
                [PreserveSig]
+#endif
                int IsDirty ();
                void Load ([MarshalAs(UnmanagedType.LPWStr)] string 
pszFileName, int dwMode);
                void Save ([MarshalAs (UnmanagedType.LPWStr)] string 
pszFileName, [MarshalAs (UnmanagedType.Bool)] bool fRemember);

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIRunningObjectTable.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIRunningObjectTable.cs
    2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIRunningObjectTable.cs
    2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("00000010-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIRunningObjectTable

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIStream.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIStream.cs        
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMIStream.cs        
2005-03-04 02:29:18 UTC (rev 41421)
@@ -33,6 +33,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid ("0000000c-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIStream

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeComp.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeComp.cs      
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeComp.cs      
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid("00020403-0000-0000-c000-000000000046")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMITypeComp {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeInfo.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeInfo.cs      
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeInfo.cs      
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,7 +32,10 @@
 
 namespace System.Runtime.InteropServices
 {
-
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid("00020401-0000-0000-c000-000000000046")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMITypeInfo {

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeLib.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeLib.cs       
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/UCOMITypeLib.cs       
2005-03-04 02:29:18 UTC (rev 41421)
@@ -33,11 +33,16 @@
 
 namespace System.Runtime.InteropServices
 {
-
+#if NET_2_0
+       [Obsolete]
+#endif
+       [ComImport]
        [Guid("00020402-0000-0000-c000-000000000046")]
        [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMITypeLib { 
+#if NET_2_0
                [PreserveSig]
+#endif
                int GetTypeInfoCount ();
                void GetTypeInfo (int index, out UCOMITypeInfo ppTI);
                void GetTypeInfoType (int index, out TYPEKIND pTKind);
@@ -48,7 +53,9 @@
                [return: MarshalAs (UnmanagedType.Bool)]
                bool IsName ([MarshalAs(UnmanagedType.LPWStr)] string 
szNameBuf, int lHashVal);
                void FindName ([MarshalAs(UnmanagedType.LPWStr)] string 
szNameBuf, int lHashVal, [Out, MarshalAs (UnmanagedType.LPArray, ArraySubType = 
Consts.UnmanagedType_80)] UCOMITypeInfo[] ppTInfo, [Out, MarshalAs 
(UnmanagedType.LPArray, ArraySubType = Consts.UnmanagedType_80)] int[] rgMemId, 
ref short pcFound);
+#if NET_2_0
                [PreserveSig]
+#endif
                void ReleaseTLibAttr (IntPtr pTLibAttr);
        }
 }

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UnmanagedFunctionPointerAttribute.cs
===================================================================
--- 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UnmanagedFunctionPointerAttribute.cs
  2005-03-04 02:26:46 UTC (rev 41420)
+++ 
trunk/mcs/class/corlib/System.Runtime.InteropServices/UnmanagedFunctionPointerAttribute.cs
  2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,7 +32,7 @@
 
 namespace System.Runtime.InteropServices {
 
-       [AttributeUsage (AttributeTargets.Delegate)]
+       [AttributeUsage (AttributeTargets.Delegate, Inherited = false)]
        public sealed class UnmanagedFunctionPointerAttribute: Attribute {
                #region Sync with object-internals.h
                private CallingConvention call_conv;

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/VARDESC.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/VARDESC.cs    
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/VARDESC.cs    
2005-03-04 02:29:18 UTC (rev 41421)
@@ -30,6 +30,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [ComVisible (false)]
        [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
        public struct VARDESC

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/VARFLAGS.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/VARFLAGS.cs   
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/VARFLAGS.cs   
2005-03-04 02:29:18 UTC (rev 41421)
@@ -32,6 +32,9 @@
 
 namespace System.Runtime.InteropServices
 {
+#if NET_2_0
+       [Obsolete]
+#endif
        [Serializable, ComVisible (false), Flags]
        public enum VARFLAGS
        {

Modified: 
trunk/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs     
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs     
2005-03-04 02:29:18 UTC (rev 41421)
@@ -34,6 +34,7 @@
 
 namespace System.Runtime.InteropServices
 {
+       [ComVisible (false)]
        public sealed class VariantWrapper
        {
                private object _wrappedObject;

Modified: trunk/mcs/class/corlib/System.Runtime.InteropServices/_Exception.cs
===================================================================
--- trunk/mcs/class/corlib/System.Runtime.InteropServices/_Exception.cs 
2005-03-04 02:26:46 UTC (rev 41420)
+++ trunk/mcs/class/corlib/System.Runtime.InteropServices/_Exception.cs 
2005-03-04 02:29:18 UTC (rev 41421)
@@ -34,6 +34,8 @@
 
 namespace System.Runtime.InteropServices {
 
+       [InterfaceType (ComInterfaceType.InterfaceIsDual)]
+       [Guid ("b36b5c63-42ef-38bc-a07e-0b34c98f164a")]
        [CLSCompliant (false)]
        public interface _Exception {
 

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to