Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@@ -1,89 +0,0 @@
//
// System.Runtime.InteropServices.ArrayWithOffset.cs
//
// Author:
// Miguel de Icaza (miguel@ximian.com)
//
// (C) Novell, Inc. http://www.ximian.com
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Runtime.InteropServices {
[Serializable]
[ComVisible (true)]
public struct ArrayWithOffset {
object array;
int offset;
public ArrayWithOffset (object array, int offset)
{
this.array = array;
this.offset = offset;
}
public override bool Equals (object obj)
{
if (obj == null)
return false;
if (!(obj is ArrayWithOffset))
return false;
ArrayWithOffset other = (ArrayWithOffset) obj;
return (other.array == array && other.offset == offset);
}
public bool Equals (ArrayWithOffset obj)
{
return obj.array == array && obj.offset == offset;
}
public static bool operator == (ArrayWithOffset a, ArrayWithOffset b)
{
return a.Equals (b);
}
public static bool operator != (ArrayWithOffset a, ArrayWithOffset b)
{
return !a.Equals (b);
}
public override int GetHashCode ()
{
return offset;
}
public object GetArray ()
{
return array;
}
public int GetOffset ()
{
return offset;
}
}
}

View File

@@ -1,41 +0,0 @@
//
// System.Runtime.InteropServices.AssemblyRegistrationFlags.cs
//
// Author:
// Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace System.Runtime.InteropServices
{
[Flags]
[ComVisible(true)]
public enum AssemblyRegistrationFlags {
None = 0,
SetCodeBase,
}
}

View File

@@ -1,30 +0,0 @@
//
// System.Runtime.InteropServices.BStrWrapper
//
// Author:
// Kazuki Oikawa (kazuki@panicode.com)
//
using System;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public sealed class BStrWrapper
{
string _value;
public BStrWrapper (string value)
{
_value = value;
}
public BStrWrapper (object value)
{
_value = (string)value;
}
public string WrappedObject { get { return _value; } }
}
}

View File

@@ -1,62 +0,0 @@
//
// COMException.cs - COM Exception
//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
// (C) 2002 Motus Technologies Inc. (http://www.motus.com)
// Copyright (C) 2004, 2008 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.Serialization;
namespace System.Runtime.InteropServices {
[Serializable]
[ComVisible (true)]
public class COMException : ExternalException {
public COMException ()
: base () {}
public COMException (string message)
: base (message) {}
public COMException (string message, Exception inner)
: base (message, inner) {}
public COMException (string message, int errorCode)
: base (message, errorCode) {}
protected COMException (SerializationInfo info, StreamingContext context)
: base (info, context) {}
public override string ToString ()
{
return String.Format (
"{0} (0x{1:x}): {2} {3}{4}{5}",
GetType (), HResult, Message, InnerException == null ? String.Empty : InnerException.ToString (),
Environment.NewLine, StackTrace != null ? StackTrace : String.Empty);
}
}
}

View File

@@ -1,48 +0,0 @@
// CallingConvention.cs
//
// This code was automatically generated from
// ECMA CLI XML Library Specification.
// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
// Created: Fri, 7 Sep 2001 16:33:29 UTC
// Source file: AllTypes.xml
// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Runtime.InteropServices {
[Serializable]
[ComVisible (true)]
public enum CallingConvention {
Winapi = 1,
Cdecl = 2,
StdCall = 3,
ThisCall = 4,
FastCall = 5,
}
} // System.Runtime.InteropServices

File diff suppressed because it is too large Load Diff

View File

@@ -1,47 +0,0 @@
// CharSet.cs
//
// This code was automatically generated from
// ECMA CLI XML Library Specification.
// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
// Created: Fri, 7 Sep 2001 16:33:35 UTC
// Source file: AllTypes.xml
// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Runtime.InteropServices {
[Serializable]
[ComVisible (true)]
public enum CharSet {
None = 1,
Ansi = 2,
Unicode = 3,
Auto = 4,
}
} // System.Runtime.InteropServices

View File

@@ -1,43 +0,0 @@
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// System.Runtime.InteropServices/ComMemberType.cs
//
// Paolo Molaro (lupus@ximian.com)
//
// (C) 2002 Ximian, Inc.
using System;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public enum ComMemberType {
Method = 0,
PropGet = 1,
PropSet = 2
}
}

View File

@@ -1,85 +0,0 @@
//
// System.Runtime.InteropServices.CriticalHandle
//
// Author:
// Kazuki Oikawa (kazuki@panicode.com)
//
using System;
using System.Runtime.ConstrainedExecution;
using System.Runtime.Serialization;
namespace System.Runtime.InteropServices
{
public abstract class CriticalHandle : CriticalFinalizerObject, IDisposable
{
protected IntPtr handle;
bool _disposed = false;
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.MayFail)]
protected CriticalHandle (IntPtr invalidHandleValue)
{
handle = invalidHandleValue;
}
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
~CriticalHandle ()
{
Dispose (false);
}
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
public void Close ()
{
Dispose (true);
}
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
public void Dispose ()
{
Dispose (true);
}
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
protected virtual void Dispose (bool disposing)
{
if (_disposed)
return;
if (!IsInvalid){
if (!_disposed && !ReleaseHandle ()) {
GC.SuppressFinalize (this);
} else {
// Failed in release...
}
}
_disposed = true;
}
[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 {
[ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
get;
}
}
}

View File

@@ -1,57 +0,0 @@
//
// System.Runtime.InteropServices.CurrencyWrapper.cs
//
// Author:
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public sealed class CurrencyWrapper
{
Decimal currency;
public CurrencyWrapper (decimal obj)
{
currency = obj;
}
public CurrencyWrapper (object obj)
{
if (obj.GetType() != typeof(Decimal))
throw new ArgumentException ("obj has to be a Decimal type");
currency = (Decimal)obj;
}
public decimal WrappedObject {
get { return currency; }
}
}
}

View File

@@ -1,53 +0,0 @@
//
// System.Runtime.InteropServices.DispatchWrapper.cs
//
// Author:
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !FULL_AOT_RUNTIME
using System;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public sealed class DispatchWrapper
{
object wrappedObject;
public DispatchWrapper (object obj)
{
Marshal.GetIDispatchForObject (obj);
wrappedObject = obj;
}
public object WrappedObject {
get { return wrappedObject; }
}
}
}
#endif

View File

@@ -1,64 +0,0 @@
//
// System.Runtime.InteropServices.ErrorWrapper.cs
//
// Author:
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
#if !FULL_AOT_RUNTIME
using System;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public sealed class ErrorWrapper
{
int errorCode;
public ErrorWrapper (Exception e)
{
this.errorCode = Marshal.GetHRForException (e);
}
public ErrorWrapper (int errorCode)
{
this.errorCode = errorCode;
}
public ErrorWrapper (object errorCode)
{
if (errorCode.GetType() != typeof(int))
throw new ArgumentException ("errorCode has to be an int type");
this.errorCode = (int)errorCode;
}
public int ErrorCode {
get { return errorCode; }
}
}
}
#endif

View File

@@ -1,76 +0,0 @@
//
// System.Runtime.InteropServices.ExternalException.cs
//
// Author:
// Miguel De Icaza (miguel@ximian.com)
//
// (C) 2001 Ximian, Inc. http://www.ximian.com
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System.Runtime.Serialization;
using System.Globalization;
namespace System.Runtime.InteropServices
{
[Serializable]
[ComVisible (true)]
public class ExternalException : SystemException
{
public ExternalException ()
: base (Locale.GetText ("External exception"))
{
HResult = -2147467259;
}
public ExternalException (string message)
: base (message)
{
HResult = -2147467259;
}
protected ExternalException(SerializationInfo info, StreamingContext context)
: base (info, context) {
}
public ExternalException (string message, Exception inner)
: base (message, inner)
{
HResult = -2147467259;
}
public ExternalException (string message, int errorCode)
: base (message)
{
HResult = errorCode;
}
public virtual int ErrorCode {
get {
return HResult;
}
}
}
}

View File

@@ -30,6 +30,7 @@
//
using System;
using System.Threading;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -108,8 +109,17 @@ namespace System.Runtime.InteropServices
public void Free()
{
FreeHandle(handle);
handle = 0;
// Copy the handle instance member to a local variable. This is required to prevent
// race conditions releasing the handle.
int local_handle = handle;
// Free the handle if it hasn't already been freed.
if (local_handle != 0 && Interlocked.CompareExchange (ref handle, 0, local_handle) == local_handle) {
FreeHandle (local_handle);
}
else {
throw new InvalidOperationException ("Handle is not initialized.");
}
}
public static explicit operator IntPtr (GCHandle value)
@@ -120,7 +130,7 @@ namespace System.Runtime.InteropServices
public static explicit operator GCHandle(IntPtr value)
{
if (value == IntPtr.Zero)
throw new ArgumentException ("GCHandle value cannot be zero");
throw new InvalidOperationException ("GCHandle value cannot be zero");
if (!CheckCurrentDomain ((int)value))
throw new ArgumentException ("GCHandle value belongs to a different domain");
return new GCHandle (value);

View File

@@ -1,81 +0,0 @@
//
// System.Runtime.InteropServices.HandleRef
//
// Author:
// Tim Coleman (tim@timcoleman.com)
//
// Copyright (C) 2003 Tim Coleman
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
namespace System.Runtime.InteropServices {
[ComVisible (true)]
public struct HandleRef {
#region Fields
object wrapper;
IntPtr handle;
#endregion // Fields
#region Constructors
public HandleRef (object wrapper, IntPtr handle)
{
this.wrapper = wrapper;
this.handle = handle;
}
#endregion // Constructors
#region Properties
public IntPtr Handle {
get { return handle; }
}
public object Wrapper {
get { return wrapper; }
}
#endregion // Properties
#region Type Conversions
public static explicit operator IntPtr (HandleRef value)
{
return value.Handle;
}
#endregion // Type Conversions
public static IntPtr ToIntPtr(HandleRef value)
{
return value.Handle;
// Why did MS add a function for this?
}
}
}

View File

@@ -1,40 +0,0 @@
//
// System.Runtime.InteropServices.ICustomAdapter.cs
//
// Author:
// Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace System.Runtime.InteropServices {
[ComVisible (true)]
public interface ICustomAdapter {
[return: MarshalAs (UnmanagedType.IUnknown)]
object GetUnderlyingObject ();
}
}

View File

@@ -1,39 +0,0 @@
//
// System.Runtime.InteropServices.ICustomFactory.cs
//
// Author:
// Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace System.Runtime.InteropServices {
[ComVisible (true)]
public interface ICustomFactory {
MarshalByRefObject CreateInstance (Type serverType);
}
}

View File

@@ -1,43 +0,0 @@
//
// System.Runtime.InteropServices.ICustomMarshaler.cs
//
// Author:
// Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
namespace System.Runtime.InteropServices {
[ComVisible (true)]
public interface ICustomMarshaler {
void CleanUpManagedData (object ManagedObj);
void CleanUpNativeData (IntPtr pNativeData);
int GetNativeDataSize ();
IntPtr MarshalManagedToNative (object ManagedObj);
object MarshalNativeToManaged (IntPtr pNativeData);
}
}

View File

@@ -1,62 +0,0 @@
//
// System.Runtime.InteropServices.IRegistrationServices.cs
//
// Author:
// Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Reflection;
using System.Security.Permissions;
namespace System.Runtime.InteropServices {
[ComVisible(true)]
[Guid("CCBD682C-73A5-4568-B8B0-C7007E11ABA2")]
public interface IRegistrationServices {
Guid GetManagedCategoryGuid ();
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
string GetProgIdForType (Type type);
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
Type[] GetRegistrableTypesInAssembly (Assembly assembly);
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
bool RegisterAssembly (Assembly assembly, AssemblyRegistrationFlags flags);
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
void RegisterTypeForComClients (Type type, ref Guid g);
bool TypeRepresentsComType (Type type);
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
bool TypeRequiresRegistration (Type type);
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
bool UnregisterAssembly (Assembly assembly);
}
}

View File

@@ -1,65 +0,0 @@
//
// System.Runtime.InteropServices.InvalidComObjectException.cs
//
// Author:
// Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
//
// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using System;
using System.Runtime.Serialization;
namespace System.Runtime.InteropServices
{
[ComVisible(true)]
[Serializable]
public class InvalidComObjectException : SystemException
{
private const int ErrorCode = -2146233049; // = 0x80131527
public InvalidComObjectException ()
: base (Locale.GetText ("Invalid COM object is used"))
{
this.HResult = ErrorCode;
}
public InvalidComObjectException (string message)
: base (message)
{
this.HResult = ErrorCode;
}
public InvalidComObjectException (string message, Exception inner)
: base (message, inner)
{
this.HResult = ErrorCode;
}
protected InvalidComObjectException (SerializationInfo info, StreamingContext context)
: base (info, context)
{
}
}
}

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