msi:RECORD_StreamFromFile bug, help needed

Hans Leidekker hans at
Wed Jun 20 07:01:33 CDT 2012

On Wed, 2012-06-20 at 12:13 +0200, robert.van.herk at wrote:
> 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.
> Hmmm... Then I want exactly the same as SHCreateStreamOnFileEx, but the
> only difference is that the file should be opened with FILE_SHARE_DELETE.
> (I think).

You will also need IStream_Clone, which shlwapi doesn't implement.

> What is that policy on this? It seems overkill to copy istream.c from
> shlwapi, just because I want to change 1 flag. On the other hand, I don't
> want to expose more functions in the shlwapi header, as that would make
> it different from the Windows implementation...

You can look at istream.c for inspiration, but please avoid copying it
verbatim with its 2-space indentation and CamelCaseNotation. Try
following the coding style of surrounding code in msi.

You can probably also simplify the code a bit. E.g. you can leave out
parameter validation and code/structure fields that will not be used
by msi.

More information about the wine-devel mailing list