Interface code from C# to VB.NET
.NET (Core and Framework)
1
Posts
1
Posters
0
Views
1
Watching
-
Hello. I am trying to implement drag and drop in my application (from Outlook messages and message attachments) I found the code on a Code Project post, but it is for C#. My application is written in VB, so I'd rather convert the code to VB than add a required DLL to what my program requires. I need help with the below lines of code. Where I need help is at the CreateStream function for example. I cannot find a equivalent for the "return" section of "[return: MarshalAs(UnmanagedType.Interface)]" Can you help me? Thanks.
\[ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("0000000B-0000-0000-C000-000000000046")\] public interface IStorage { \[return: MarshalAs(UnmanagedType.Interface)\] IStream CreateStream(\[In, MarshalAs(UnmanagedType.BStr)\] string pwcsName, \[In, MarshalAs(UnmanagedType.U4)\] int grfMode, \[In, MarshalAs(UnmanagedType.U4)\] int reserved1, \[In, MarshalAs(UnmanagedType.U4)\] int reserved2); \[return: MarshalAs(UnmanagedType.Interface)\] IStream OpenStream(\[In, MarshalAs(UnmanagedType.BStr)\] string pwcsName, IntPtr reserved1, \[In, MarshalAs(UnmanagedType.U4)\] int grfMode, \[In, MarshalAs(UnmanagedType.U4)\] int reserved2); \[return: MarshalAs(UnmanagedType.Interface)\] IStorage CreateStorage(\[In, MarshalAs(UnmanagedType.BStr)\] string pwcsName, \[In, MarshalAs(UnmanagedType.U4)\] int grfMode, \[In, MarshalAs(UnmanagedType.U4)\] int reserved1, \[In, MarshalAs(UnmanagedType.U4)\] int reserved2); \[return: MarshalAs(UnmanagedType.Interface)\] IStorage OpenStorage(\[In, MarshalAs(UnmanagedType.BStr)\] string pwcsName, IntPtr pstgPriority, \[In, MarshalAs(UnmanagedType.U4)\] int grfMode, IntPtr snbExclude, \[In, MarshalAs(UnmanagedType.U4)\] int reserved); void CopyTo(int ciidExclude, \[In, MarshalAs(UnmanagedType.LPArray)\] Guid\[\] pIIDExclude, IntPtr snbExclude, \[In, MarshalAs(UnmanagedType.Interface)\] IStorage stgDest); void MoveElementTo(\[In, MarshalAs(UnmanagedType.BStr)\] string pwcsName, \[In, MarshalAs(UnmanagedType.Interface)\] IStorage stgDest, \[In, MarshalAs(UnmanagedType.BStr)\] string pwcsNewName, \[In, MarshalAs(UnmanagedType.U4)\] int grfFlags); void Commit(int grfCommitFlags); void Revert(); void EnumElements(\[In, MarshalAs(UnmanagedType.U4)\] int reserved1, IntPtr reserved2, \[In, MarshalAs(UnmanagedType.U4)\] int reserved3, \[MarshalAs(Unma