On Tue, 2012-06-19 at 21:45 +0200, robert.van.h...@serioustoys.com wrote: > > We don't have to call SHCreateStreamOnFileEx, we can add a suitable > > implementation to msi. > > Ah, I see. > > I guess this stream cannot escape from MSI. The only way it can be accessed is > through MsiRecordReadStream and MsiRecordSetStream, but it can never be > accessed > directly? > > In that case, we don't have to use an IStream... > I could alter msipriv.h such that MSIFIELD just holds a HANDLE in case the > field > is a stream. > The handle can then be created through CreateFile, and I guess then I could > alter > the permissions such that it matches the MS implementation... > > Do you think that that is the way to go? > > Or is there a deep reason why we should use IStream, and create our own > IStream > implementation?
IStream is not exposed to the user, but an internal interface would probably end up looking a lot like IStream because we need read/write/seek operations, reference counting and the ability to create clones. So we might as well use IStream.