Select the Export/Export interface dll menu item and set the file name for the pinvoke interface dll in the following file/save dialog box.
In this example you should set the output file name to windows.interop.dll.
After setting the output dll file name you will be presented with a progress dialog. After a while, when the export is completed, you should
get the following message :
The warnings which are reported as hidden are either from unsupported C++ features in the windows headers (templated classes or methods, classes with instance methods etc)
or because a method was found in the dll but not in the header file.
If you examine the output folder you'll see that not only has your pinvoke interop dll been created but also a copy of PInvoker.Marshal.Dll.
The interface dlls produced by PInvoker depend on this assembly which contains the marshaling classes such as ArrayPtr and StructPtr.
This dll is verifyable and freely distributable. It is placed in the export folder to make the job of adding references to Visual Studio projects easier