Welcome to the CLR Interop CodePlex site, which is managed by the CLR Interop team. Our goal is to provide tools and samples that enhance your interop development experience. Please feel free to share comments or feedback with us. Project Description: P/Invoke Interop Assistant
In marshalling there are many attributes and rules for dealing with types. Understanding all of these can be a bit daunting. To improve the development experience, the P/Invoke Interop Assistant was created. It is a tool that conveniently converts C/C++ to managed P/Invoke signatures or verse visa. It even comes with a database of Win32 functions, data types, and constants, so the common task of adding a Win32 P/Invoke to your C# or Visual Basic source file is made very easy. There is a great marshalling article on MSDN Magazine website
which highlights the tool. We hope you enjoy it!Project Description: Type Library Importer in Managed Code
Tlbimp is a command line tool which creates a managed, interop assembly from a COM type library. This is essentially the same tool that was released with versions of the .NET Framework SDK, but written entirely in managed code. Providing a managed version will enable developers to explore and extend its features. We also plan on adding new features to make it more customizable. Stay tuned for more enhancements!Project Description: IL Stub Diagnostic Tool
IL stubs are dynamically generated on the fly by the CLR and handle the marshalling and invocation of the target method. The IL Stub Diagnostic tool was created to ease the interop debugging experience. It is a real-time monitor which shows the details of every IL stub generated by the CLR in a given process. For each stub, the tool currently displays its IL code as well as the signature of the managed/native methods. This release is supported on Windows Vista+. Further, we plan on releasing enhancements of the tool during the Visual Studio 2010 Beta period. Stay tuned!!Project Description: CustomQueryInterface Sample - IDispatch and Aggregation
ICustomQueryInterface is a new interface that will be released in CLR v4. This feature will enable developers to provide their own managed implementation of custom and standard COM interfaces (except IUnknown). In this sample, we will show you how to construct a managed COM aggregation system in the context of a managed implementation of IDispatch with ICustomQueryInterface.Project Description: CustomQueryInterface Sample - IMarshal on WCF
ICustomQueryInterface is a new interface that will be released in CLR v4 and we already released a sample above to demo managed aggregation and customized IDispatch. To further demo the power of CustomQueryInterface and the ability to use the .Net technology (WCF) within COM world, this sample targets the customization of IMarshal interface by using WCF.