Merge pull request #498 from Unroll-Me/master
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / UCOMIBindCtx.cs
index 49b61f2f130a65d875e85e9b898d481816fa7020..da18ded9121c735b0bd737d46469cce00fd7d4ec 100644 (file)
@@ -4,9 +4,7 @@
 // Author:
 //   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
 //
-
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+// Copyright (C) 2004-2005 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
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using System;
-
+#if !FULL_AOT_RUNTIME
 namespace System.Runtime.InteropServices
 {
+       [Obsolete]
+       [ComImport]
        [Guid ("0000000e-0000-0000-c000-000000000046")]
        [InterfaceType (ComInterfaceType.InterfaceIsIUnknown)]
        public interface UCOMIBindCtx
        {
-               void EnumObjectParam (out UCOMIEnumString ppenum);
-               void GetBindOptions (ref BIND_OPTS pbindopts);
-               void GetObjectParam (string pszKey, out object ppunk);
-               void GetRunningObjectTable (out UCOMIRunningObjectTable pprot);
-               void RegisterObjectBound (object punk);
-               void RegisterObjectParam (string pszKey, object punk);
+               void RegisterObjectBound ([MarshalAs(UnmanagedType.Interface)] object punk);
+               void RevokeObjectBound ([MarshalAs(UnmanagedType.Interface)] object punk);
                void ReleaseBoundObjects ();
-               void RevokeObjectBound (object punk);
-               void RevokeObjectParam (string pszKey);
                void SetBindOptions ([In] ref BIND_OPTS pbindopts);
+               void GetBindOptions (ref BIND_OPTS pbindopts);
+               void GetRunningObjectTable (out UCOMIRunningObjectTable pprot);
+               void RegisterObjectParam ([MarshalAs (UnmanagedType.LPWStr)] string pszKey, [MarshalAs (UnmanagedType.Interface)] object punk);
+               void GetObjectParam ([MarshalAs (UnmanagedType.LPWStr)] string pszKey, [MarshalAs (UnmanagedType.Interface)] out object ppunk);
+               void EnumObjectParam (out UCOMIEnumString ppenum);
+               void RevokeObjectParam ([MarshalAs(UnmanagedType.LPWStr)] string pszKey);
        }
 }
+#endif