[Mono-list] System.Runtime.InteropServices Interfaces

Kevin Winchester kwin@ns.sympatico.ca
Mon, 25 Feb 2002 21:05:21 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit



Here are some of the interfaces from the list of non-implemented classes.  I
don't yet have the SDK installed on my win98 computer, so I can't really
compile them, but since they are just typing, without any implementation
involved, they should work okay.  I guess no one has need them yet or else
they'd probably be done, but I figured I'd help out in any way I can.  Once
I get the ability to compile things on my machine, I'll try to do more.

Kevin


------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="IRegistrationServices.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IRegistrationServices.cs"

//
// System.IRegistrationServices.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	[Guid("")]
	public interface IRegistrationServices {

		[Guid("")]
		Guid GetManagedCategoryGuid ();
	=09
		[Guid("")]
		string GetProgIdForType (Type type);
	=09
		[Guid("")]
		Type[] GetRegistrableTypesInAssembly (Assembly assembly);
	=09
		[Guid("")]
		bool RegisterAssembly (Assembly assembly, AssemblyRegistrationFlags =
flags);
	=09
		[Guid("")]
		void RegisterTypeForComClients (Type type, ref Guid g);
	=09
		[Guid("")]
		bool TypeRepresentsComType (Type type);
	=09
		[Guid("")]
		bool TypeRequiresRegistration (Type type);
	=09
		[Guid("")]
		bool UnregisterAssembly (Assembly assembly);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ICustomFactory.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ICustomFactory.cs"

//
// System.ICustomFactory.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	public interface ICustomFactory {
		MarshalByRefObject CreateInstance (Type serverType);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ICustomMarshaler.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ICustomMarshaler.cs"

//
// System.ICustomMarshaler.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	public interface ICustomMarshaler {
		void CleanUpManagedData (object ManagedObj);
		void CleanUpNativeData (IntPtr pNativeData);
		int GetNativeDataSize ();
		IntPtr MarshalManagedToNative (object ManagedObj);
		object MarshalNativeToManaged (IntPtr pNativeData);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ICustomAdapter.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ICustomAdapter.cs"

//
// System.ICustomAdapter.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	public interface ICustomAdapter {
		object GetUnderlyingObject ();
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ITypeLibConverter.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="ITypeLibConverter.cs"

//
// System.ITypeLibConverter.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	[Guid("")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface ITypeLibConverter {
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		object ConvertAssemblyToTypeLib (Assembly assembly, string =
typeLibName, TypeLibExporterFlags flags, ITypeLibExporterNotifySink =
notifySink);
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		AssemblyBuilder ConvertTypeLibToAssembly (object typeLib, string =
asmFileName, int flags, ITypeLibImporterNotifySink notifySink, byte[] =
publicKey, StrongNameKeyPair keyPair, bool unsafeInterfaces);
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		bool GetPrimaryInteropAssembly (Guid g, int major, int minor, int =
lcid, out string asmName, out string asmCodeBase);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ITypeLibExporterNameProvider.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="ITypeLibExporterNameProvider.cs"

//
// System.ITypeLibExporterNameProvider.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	[Guid("")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface ITypeLibExporterNameProvider {
		
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		string[] GetNames ();

	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ITypeLibExporterNotifySink.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="ITypeLibExporterNotifySink.cs"

//
// System.ITypeLibExporterNotifySink.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	[Guid("")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface ITypeLibExporterNotifySink {
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		void ReportEvent (ExporterEventKind eventKind, int eventCode, string =
eventMsg);
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		object ResolveRef (Assembly assembly);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420
Content-Type: application/octet-stream;
	name="ITypeLibImporterNotifySink.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="ITypeLibImporterNotifySink.cs"

//
// System.ITypeLibImporterNotifySink.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.InteropServices {

	[Guid("")]
	[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
	public interface ITypeLibImporterNotifySink {
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		void ReportEvent(ImporterEventKind eventKind, int eventCode, string =
eventMsg);
	=09
		[Guid("")]
		[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
		Assembly ResolveRef(object typeLib);
	}
}

------=_NextPart_000_0011_01C1BE40.22B42420--