msi:RECORD_StreamFromFile bug, help needed

Hans Leidekker hans at
Wed Jun 20 03:08:17 CDT 2012

On Tue, 2012-06-19 at 21:45 +0200, robert.van.herk at 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.

More information about the wine-devel mailing list