OleLoadFromStream (ole32)
Last changed: -198.102.62.250

.
Summary

C# Signature:

[DllImport("ole32.dll")]
static extern int OleLoadFromStream(System.Runtime.InteropServices.ComTypes.IStream pStm,
   [In] ref Guid riid,
   [MarshalAs(UnmanagedType.IUnknown)] out object ppvObj);

User-Defined Types:

None.

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

      byte[] data = new byte[2];
      pStm.Read(data, sizeof(ushort), IntPtr.Zero);
      int varType = BitConverter.ToInt32(data, 0);
      if (varType == 13) //Object support IUnknown
      {
        object obj;
        Guid IID_IUnknown = new Guid("00000000-0000-0000-C000-000000000046");
        int ret = OleLoadFromStream(stream, ref IID_IUnknown, out obj);
        IMyInterface myInterface = (IMyInterface)obj;
      }

Alternative Managed API:

Do you know one? Please contribute it!

Documentation