I'm reading and writing Structured Storage files from C#. To open the file i call
int result = StgOpenStorage(filename, null, STGM.READWRITE | STGM.SHARE_EXCLUSIVE, IntPtr.Zero, 0, out StorageInterface);
It is derived from IUnknown. Every COM object is derived from IUnknown. Just call
Maybe I was hasty. I missed the C# part... That's how you'd do it in C++.
In C#, you should be able to call like this.
Check the spelling...it's from memory.